Динамические структуры данных - слова по алфавиту - Turbo Pascal

Формулировка задачи:

Нужна помощь! Не знаю как даже начать... В общем, само задание: Дана последовательность слов, длиной от 1 до 6, разделённые запятой и оканчивающееся точкой. Распечатать в алфавитном порядке все слова. (использовать однонаправленный список)

Код к задаче: «Динамические структуры данных - слова по алфавиту - Turbo Pascal»

textual
procedure AddSorted(var u : spis;
                    after : spis; s : string);
var p : spis;
begin
  new(p);
  p^.data := s;
 
  if after = nil then p^.next := nil
  else p^.next := after^.next;
 
 
  if u = nil then
  begin
    u := p;
    p^.next := after;
  end
  else
    after^.next := p;
end;
 
procedure Add(var u : spis; s : string);
var p : spis;
begin
  p := u;
  if (p <> nil) and (Up(s) > Up(p^.data)) then
    while (p^.next <> nil) and (Up(s) > Up(p^.next^.data)) do p := p^.next
  else u := nil;
 
  AddSorted(u, p, s);
end;

6   голосов, оценка 3.500 из 5


СОХРАНИТЬ ССЫЛКУ