Составители:
Рубрика:
5.4. Реализация быстрой сортировки 63
qs (item, 0, count-1);
}
template<class stype>void qs(stype *item,int left,int right)
{
register int i, j;
stype x, y;
i=left;
j=right;
x=item[(left+right)/2];
do
{
while (item[i]<x && i<right) i++;
while (x<item[j] && j>left) j--;
if(i<=j)
{
y=item [i];
item [i]=item[j];
item [j]=y;
i++; j--;
}
} while (i<=j);
if(left<j) qs(item, left, j);
if(i<right) qs(item, i, right);
}
int comp (const void *a, const void *b)
{
return *(int*) a - *(int*) b;
}
Нерекурсивная реализация быстрой сортировки
Теперь приведем пример нерекурсивной реализации быстрой сор-
тировки с использованием ранее реализованного параметризованного
5.4. Реализация быстрой сортировки 63
qs (item, 0, count-1);
}
templatevoid qs(stype *item,int left,int right)
{
register int i, j;
stype x, y;
i=left;
j=right;
x=item[(left+right)/2];
do
{
while (item[i]left) j--;
if(i<=j)
{
y=item [i];
item [i]=item[j];
item [j]=y;
i++; j--;
}
} while (i<=j);
if(left Страницы
- « первая
- ‹ предыдущая
- …
- 61
- 62
- 63
- 64
- 65
- …
- следующая ›
- последняя »
