Курсовая работа: Структури даних для обробки інформації
end;
until name='';
ОБЕРНЕННЯ ЕЛЕМЕНТІВ СПИСКУ (ЗМІНЕННЯ НАПРЯМКІВ УСІХ ВКАЗІВНИКІВ НА ПРОТИЛЕЖНИЙ)
1 спосіб (шляхом «переміщення» кожного елемента списку, починаючи з другого, на його початок)
Зауваження! Під переміщенням елемента розуміємо не фізичне переміщення його на початок списку. На початок списку «направляємо» лише вказівник елемента, який з даного списка видаляється.
S_1 – вказівник на перший елемент списку
S – вказівник на поточний елемент списку
Buf – вказівник на наступний за поточним елементом (на елемент що переміщається на початок списку
s:=s_1;
buf:=s_1;
while s^.next<>nil do
begin
buf:=s^.next;
s^.next:=s^.next^.next;
buf^.next:=s_1;
s_1:=buf;
end;
2 спосіб (шляхом зміни напрямків вказівників на протилежний)
S_1 – вказівник на перший елемент списку
S – вказівник на поточний елемент списку
Left – вказівник на елемент, що знаходиться лівіше від поточного
Right – вказівник на елемент, що знаходиться правіше від поточного
right:=s_1;
s:=nil;
repeat
left:=s;
s:=right;
right:=right^.next;
s^.next:=left;