быстpая соpтиpовка
- From
- Maxim Lanovoy (2:463/1124.6)
- To
- Kommander Bomber
- Date
- 2002-12-25T08:52:46Z
- Area
- RU.ALGORITHMS
AO>> помогите плиз, а то вpемени мало. нyжно пpосто-напpосто
AO>> отсоpтиpовать массив двyхбайтных чисел, но вpемя соpтиpовки
AO>> кpитично (микpоконтpоллеpная система).
KB> Надеюсь, по исходнику поймешь как работает. Основная функция - sort.
А зачем так сложно?
KB> === Здесь начинается src.c ===
KB> typedef unsigned short uint16;
KB> typedef long int32;
KB> typedef short int16;
[...]
Так же проще и понятнее, ИМХО:
void sort(int l, int r)
{
int i,j;
char x,y;
i=l; j=r; x=a[(l+r) >> 1];
do {
while (a[i]<x) i++;
while (x<a[j]) j--;
if (i<=j) {
y=a[i];
a[i]=a[j];
a[j]=y;
i++;
j--;
}
}
while (i<=j);
if (l<j) sort(l,j);
if (i<r) sort(i,r);
}
WBR, Максим Лановой
mailto: lanovoy(_at_)ln.ua
--- ...
* Origin: Non progredi est regredi (2:463/1124.6)