» Главная
eXcode.ru » Статьи » Алгоритмы » Сортировка
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 6







Быстрая рекурсивная сортировка





{
Быстрая рекурсивная сортировка

Сложность:
C*n*k, где 2^k<=n, а 2^(k+1)>n
n - количество сортируемых элементов

Наиболее часто используемый метод. Эффективность
и простота в написании делает его алгоритмом сортировки
№1 =)).

Для Borland Pascal 7.0
Olegis, 02.2005
}

var a: array [0..32000] of integer;
n: integer;
buf: text;

procedure inp;
begin
assign(buf, ′input.txt′); reset(buf);
n:=-1;
while not eof(buf) do
begin
inc(n);
readln(buf, a[n]);
end;
close(buf);
end;

procedure outp;
var i: integer;
begin
assign(buf, ′output.txt′); rewrite(buf);
for i:=0 to n do writeln(buf, a);
close(buf);
end;

procedure qsort(l,p: integer);
var i,j,x,s: integer;
label m;
begin
x:=a[(l+p) shr 1];
i:=l;
j:=p;
m:
while a<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
s:=a;
a:=a[j];
a[j]:=s;
inc(i);
dec(j);
goto m;
end
else
begin
if l<j then qsort(l,j);
if i<p then qsort(i,p);
end;
end;

BEGIN
inp;
qsort(0,n);
outp;
END.
К началу статьи





Добавил: LedWormДата публикации: 2005-06-01 16:25:14
Рейтинг статьи:3.00 [Голосов 5]Кол-во просмотров: 7756

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Каким браузером вы пользуйтесь?
MS Internet Explorer
22% (66)
Mozilla
3% (8)
Mozilla Firefox
26% (77)
Opera
43% (130)
Konqueror
1% (3)
Netscape
0% (0)
Lynx
0% (0)
Galeon
0% (0)
Другим
5% (15)

Проголосовало: 299
Модем с бодуна трубку снимает:
Гав - тьфу б/я, Мяу - б/я, Ш-ш-ш, Ой - пи-и-и...
Рейтинг: 1/10 (1)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » Алгоритмы » Сортировка