Динамические структуры данных - слова по алфавиту - Turbo Pascal
Формулировка задачи:
Нужна помощь! Не знаю как даже начать...
В общем, само задание:
Дана последовательность слов, длиной от 1 до 6, разделённые запятой и оканчивающееся точкой. Распечатать в алфавитном порядке все слова.
(использовать однонаправленный список)
Решение задачи: «Динамические структуры данных - слова по алфавиту»
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;
Объяснение кода листинга программы
- В процедуре AddSorted создается новый элемент в динамической структуре данных, которая представляет собой связный список. Элемент имеет поля data (данные) и next (следующий элемент). Переменная u содержит ссылку на начало списка, а переменная p используется для хранения нового элемента.
- Если переменная after равна nil, то новый элемент становится концом списка. В противном случае, новый элемент становится следующим за после.
- Если переменная u равна nil, то создается новый элемент и переменная u устанавливается равной этому элементу. Также устанавливается значение p^.next равным значению после.
- В процедуре Add, если переменная u равна nil, то создается новый элемент и переменная u устанавливается равной этому элементу. Затем вызывается процедура AddSorted, которая добавляет новый элемент в список.
- В процедуре AddSorted, если переменная u равна nil, то список пуст, и новый элемент становится началом списка. В противном случае, новый элемент становится следующим за после.
- Если переменная Up(s) больше значения Up(p^.data), то происходит добавление нового элемента в список. Это продолжается до тех пор, пока значение Up(s) больше значения Up(p^.next^.data).
- После добавления нового элемента, вызывается процедура AddSorted, которая сортирует список по возрастанию значения Up(data).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д