А зачем сортировка, если у тебя только вставка по возрастанию.
Просто идешь по списку и если следующий член больше твоего числа, то вставляешь перед ним. Ну и на конец списка тоже проверяешь.
Код:
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;
Фсё...