Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Срочно помогите!!!


SuperIgor ©   (2002-03-28 21:28:00) 

Доброго времени суток!!!
Помогите мне срочно нужен алгоритм QuickSort(быстрая сортировка).
Если у кого завалялась программа пришлите на мыло!!!
Мне очень нужно до завтра. Заранее спасибо!!!!!!!!!!!!!!!!!!!!!!


lipskiy   (2002-03-29 00:58:00) [1]

Что-то очень уж код длинный.
Вот покороче и для Дельфи (рекурсивная сортировка).
Сортирует строки, но легко переделать и под любой тип данных.

procedure TForm1.QSortString(var A: TStringList);

procedure QuickSort(var A: TStringList; iLo, iHi: integer);
var
Lo, Hi : integer;
Mid : string;
T : String;
begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi) div 2];
repeat
while A[Lo] < Mid do Inc(Lo);
while A[Hi] > Mid do Dec(Hi);
if Lo <= Hi then
begin
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi);
if Lo < iHi then QuickSort(A, Lo, iHi);
end;

begin
QuickSort(A, 0, A.Count-1);
end;


=)   (2002-03-28 23:40:00) [2]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо