Раздел быстрой сортировки для чайников

#java

#java

Вопрос:

Может кто-нибудь, пожалуйста, объяснить, почему в этом коде был заменен индекс, а не содержимое массива? А также почему индекс также был возвращен?

 public static int partition(int low, int high) { 
  int pivot = a[low];
  int i = low - 1;
  int j = high   1; 

  while (i < j) { 
    for (i  ; a[i] < pivot; i  ); 
    for (j--; a[j] > pivot; j--);
       if (i < j) 
          swap(i, j); 
  } 
  return j;
}
  

Комментарии:

1. Что a такое и что такое swap ? Этот контекст, скорее всего, поможет ответить

2. И почему вы думаете, что текст, написанный сейчас (по вашему запросу), будет более полезным, чем тонны и тонны материала, которые были написаны на quicksort раньше? Как vogella.com/tutorials/JavaAlgorithmsQuicksort/article.html … другими словами: вы проводили какие- либо предварительные исследования?

3. Где ваш swap() метод?

4. static void swap(int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = i; };

5. Какие исследования вы провели?