быст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)