Здраствуйте. Сразу к делу.
Типы данных для описания списка:
Код:
TData = Integer;
(* Тип, описывающий элемент списка. *)
TPElem = ^TElem;
TElem = record
Data: TData;
PNext: TPElem;
PPrev: TPElem;
end;
(* Тип, описывающий список. *)
TList = record
PFirst: TPElem;
PLast: TPElem;
end;
Процедура пузырчатой сортировки:
Код:
procedure SortBubbleDesc(const aList: TList);
var
P1, P2, P: TPElem;
Data: TData;
F: Boolean;
begin
if aList.PFirst = aList.PLast then
Exit;
P := aList.PLast;
repeat
F := False;
P2 := aList.PFirst;
repeat
P1 := P2;
P2 := P1^.PNext;
if P1^.Data < P2^.Data then
begin
Data := P1^.Data;
P1^.Data := P2^.Data;
P2.Data := Data;
F := True;
end;
until P2 = P;
P := P^.PPrev;
until not F;
end;
Задача:
Нужно сделать процедурку случайной перестановки элементов списка. Рассортировать кароче
Выручайте. Или хоть намекните как ато щас кирпичи полезут