Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.05.2011, 03:09
Sevenfold Sevenfold вне форума
Прохожий
 
Регистрация: 06.05.2010
Сообщения: 9
Репутация: 10
Счастье Динамический двунаправленный список (Рандом)

Здраствуйте. Сразу к делу.

Типы данных для описания списка:
Код:
  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;

Задача:

Нужно сделать процедурку случайной перестановки элементов списка. Рассортировать кароче
Выручайте. Или хоть намекните как ато щас кирпичи полезут
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter