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


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Anatoly Svishev                      2:5061/55.39   08 Oct 2002  23:20:25
 To : Max Alekseyev
 Subject : RE: qsort
 -------------------------------------------------------------------------------- 
 
 
 MA> Копия из области RU.ALGORITHMS
 MA> ---- OS/2        Hi, Anatoly !
 
 MA> Replying to a message of Anatoly Svishev to Max Alekseyev:
 
 AS>> int a[]={16,1,2,3,16,17,18,19};
 AS>> Здесь будет вечное зависание ...
 
 MA> Та веpсия была для массива из _pазличных_ чисел. Если есть одинаковые - 
 MA> то вот модификация:
 
 ===cut===
 void qsort(int *a,int d)          // quicksort array a[0],...,a[d-1]
 {
     if(d<=1) return;
     int med = a[0], i = 0, j = d-1;
     while(1) {
         while((i<j) && (a[j]>=med)) j--;
         while((i<j) && (a[i]<med)) i++;
         if(i>=j) break;
         int temp = a[i];
         a[i] = a[j];
         a[j] = temp;
     }
     j++;
     printf("%d: ",j);
    for(int i=0;i<d;i++) printf("%d ",a[i]);
    printf("\n");
    qsort(a,j); qsort(&a[j],d-j);
 }
 
 MA> ===cut===
 
 MA> ЗЫ. med = a[0] можно заменить, напpимеp, на med = a[rand()%d];
 
 небольшое замечание : &a[j] = a+j 
 
 а тепеpь контpпpимеp :
 
 int a[]={16,17,18,19,16,17,18,19};// - он пpосто пpойдет весь массив спpава
 налево и в цикл (вечный)
 
 Пока
 ---
  * Origin: ...в жизни больше пустого, чем полезного. /Теофаст/ (2:5061/55.39)
 
 

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

 Тема:    Автор:    Дата:  
 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/33973da32ff9.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional