Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program OrderedList;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- type
- PList = ^TList;
- TList = record
- inf: integer;
- next: PList;
- end;
- // создание нового звена
- function createNewNode(inf: integer; p: PList): PList;
- begin
- new(Result);
- Result.inf := inf;
- Result.next := p;
- end;
- //вставка в упорядоченный
- procedure insert(var head: PList; inf: integer);
- var
- before, ind: PList;
- begin
- before := nil;
- ind := head;
- while (ind <> nil) and (ind.inf < inf) do
- begin
- before := ind;
- ind := ind.next;
- end;
- if ind = head then
- head := createNewNode(inf, head)
- else
- before.next := createNewNode(inf, ind);
- end;
- var
- tmp: integer;
- head: PList;
- begin
- head := nil;
- // создание списка
- repeat
- readln(tmp);
- if tmp <> -13 then // конец ввода - число "-13"
- insert(head, tmp);
- until tmp = -13;
- //вывод списка
- while head <> nil do
- begin
- write(head.inf, ' ');
- head := head.next;
- end;
- // нужно добавить освобождение списка
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment