Використання вільної пам'яті, Детальна інформація

Використання вільної пам'яті
Тип документу: Реферат
Сторінок: 11
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 1253
isin := ( h^.v = s )

end

end

Оскільки список починається елементом pss^, то виклик функції має вигляд isin(s, pss). Зміна вказівника h при виконанні процедури не міняє значення pss і не веде до втрати зв'язку з головою списку, оскільки h є параметром-значенням.

Рядки, представлені в списку, друкуються з його початку просуванням по елементах до кінця:

procedure writelst ( h : TPle );

begin

while h <> nil do

begin writeln ( h^.v ); h := h^.next end

end

Зберемо означення типів str, TPle, Tle та наведені підпрограми в модуль strlist, і запишемо розв'язання задачі (1) у вигляді програми namlist1:

program namlist1(input, output);

uses strlist;

var pss : TPle; s : str;

begin

pss := nil; readln ( s );

while s <> '' do

begin

if not isin ( s, pss ) then add ( s, pss );

readln ( s )

end;

writelst ( pss )

end.

3.3. Додавання до упорядкованого списку

Розглянемо тепер задачу про друкування прізвищ із умовою (2), тобто в лексикографічному порядку. Нехай знак < позначає упорядкування елементів деякого типу T, зокрема, лексикографічне упорядкування рядків. Послідовність a1, a2, … , an елементів типу T називається упорядкованою, якщо n=1, або n>1 і ai
Розглянемо таке додавання нового рядка s до упорядкованого списку ss, що його результатом є упорядкований список.

Вставка в порожній список дає упорядкований список із елемента ss1.

Якщо s.

Якщо s>ss1, то відшукати такий елемент списку ssk, що

(ssk
The online video editor trusted by teams to make professional video in minutes