Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Max Alekseyev                        2:5015/60      08 Oct 2002  20:12:28
 To : Anatoly Svishev
 Subject : qsort
 -------------------------------------------------------------------------------- 
 
 
 Replying to a message of Anatoly Svishev to Max Alekseyev:
 
  MA>> Та версия была для массива из _различных_ чисел. Если есть одинаковые
  MA>> - то вот модификация:
 
  AS> ===cut===
  AS> void qsort(int *a,int d)          // quicksort array a[0],...,a[d-1]
  AS> {
  AS>     if(d<=1) return;
  AS>     int med = a[0], i = 0, j = d-1;
  AS>     while(1) {
  AS>         while((i<j) && (a[j]>=med)) j--;
  AS>         while((i<j) && (a[i]<med)) i++;
  AS>         if(i>=j) break;
  AS>         int temp = a[i];
  AS>         a[i] = a[j];
  AS>         a[j] = temp;
  AS>     }
  AS>     j++;
  AS>     printf("%d: ",j);
  AS>    for(int i=0;i<d;i++) printf("%d ",a[i]);
  AS>    printf("\n");
  AS>    qsort(a,j); qsort(&a[j],d-j);
  AS> }
  MA>> ===cut===
 
  MA>> ЗЫ. med = a[0] можно заменить, например, на med = a[rand()%d];
 
  AS> небольшое замечание : &a[j] = a+j 
 
 a smysl? &a[j] naglyadnee.
 
  AS> а теперь контрпример :
 
  AS> int a[]={16,17,18,19,16,17,18,19};// - он просто пройдет весь массив
  AS> справа налево и в цикл (вечный)
 
 Net. Vse Ok. Zapusti i posmotri.
 
 Regards,      ш.ш
         Max    ~
 
 --- FleetStreet 1.27.3.8
  * Origin:  (2:5015/60)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 qsort   Anatoly Svishev   04 Oct 2002 23:49:41 
 qsort   Max Alekseyev   04 Oct 2002 20:41:04 
 RE: qsort   Anatoly Svishev   05 Oct 2002 23:08:06 
 qsort   Max Alekseyev   07 Oct 2002 11:47:32 
 RE: qsort   Anatoly Svishev   08 Oct 2002 23:20:25 
 qsort   Max Alekseyev   08 Oct 2002 20:12:28 
 qsort   Ianos Gnatiuc   08 Oct 2002 23:59:20 
 qsort   Ianos Gnatiuc   05 Oct 2002 17:21:13 
 RE: qsort   Anatoly Svishev   07 Oct 2002 00:12:44 
 qsort   Ianos Gnatiuc   07 Oct 2002 15:27:25 
 Re: qsort   Alexander Chislov   08 Oct 2002 19:12:52 
 qsort   Ianos Gnatiuc   09 Oct 2002 19:33:15 
Архивное /ru.algorithms/18133da33c2d.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional