gec
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: double * quick(double *s,int low,int hi) { double cnt,aux; int i,j; if (hi>low) { i=low; j=hi; cnt=s[i]; while(i < j) { if (s[i+1]<=cnt) { s[i]=s[i+1]; s[i+1]=cnt; i++; } else { if (s[j]<=cnt) { aux=s[j]; s[j]=s[i+1]; s[i+1]=aux; } j--; } } quick(s,low,i-1); quick(s,i+1,hi); } return(s); } | или такой вариант Код: template < class Stype > void quicksort(Stype *item,int count) { int i, j; Stype center; Stype x; i = left; j = right; center = item[ (left+right)/2 ]; while (i < = j ) { while ( (item[i] < center)&&(i < right) ) i++; while ( (item[j] > center)&&(j > left ) ) j--; if ( i<=j ){ x = item[i]; item[i] = item[j]; item[j] = x; i++; j--; } } if (left < j) quicksort(left , j); if (right > i) quicksort(i, right); } | Может кто-то обьяснить что этот код делает и переделать это всё под нажатие клавиши?( хотябы 1 из вариантов | Всего записей: 26 | Зарегистр. 05-02-2006 | Отправлено: 19:48 17-10-2007 | Исправлено: gec, 19:50 17-10-2007 |
|