Показать сообщение отдельно
  #6  
Старый 13.04.2009, 22:40
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А зачем сортировка, если у тебя только вставка по возрастанию.
Просто идешь по списку и если следующий член больше твоего числа, то вставляешь перед ним. Ну и на конец списка тоже проверяешь.

Код:
type
   PListItem = ^TListItem;
  TListItem = record
    Value : Integer;
    Next : PListItem;
  end;

var
  MyList : PListItem;

function AddItem(AList : PListItem; AValue : Integer);
var
  NewItem : PListItem;
begin
  While AList.Next <> Nil Do
    Begin
      If AList.Value > AValue Then Break;
      AList := AList.Next;
    End;

  New(NewItem);
  NewItem.Value := AValue;
  NewItem.Next := AList.Next;
  AList.Next := NewItem;
end;

Фсё...
Ответить с цитированием