Процедура удаления первого элемента из очереди - Free Pascal
Формулировка задачи:
День добрый .
Уже 2 день люблю свой мозг с этим.
Какая процедура удаления первого элемента очереди ?
Конец очереди слева (лефт ) а начала справа (райт )
То есть если ввожу 1 потом 2 потом 3
то выводит : 3 2 1.
Переменные и типы:
Type inter=integer; Link=^turn; turn=record elem:inter; Next: Link; end; Var left,right,a:Link;
Решение задачи: «Процедура удаления первого элемента из очереди»
textual
Листинг программы
uses crt; Type inter=integer; Link=^turn; turn=record elem:inter; Next: Link; end; Var left,right:Link; znach:inter; ch:char; x:integer; Procedure sozd(Var left,right:link); begin Left:=nil; Right:=nil; end; procedure Add(var newEl:Link; znach1:inter); var c:Link; begin New(c); c^.next:=newEl; c^.elem:=znach1; newEl:=c; If Right=nil then Right:=c; end; Procedure FreeMemory(left1:Link); var c:Link; begin If left1<>nil then while left1<>nil do begin c:=left1; left1:=left1^.next; Dispose(c); end; end; procedure Vivid(left1:Link); begin if left1=nil then begin writeln('Очередь пуста.'); readln; exit; end; while left1<>nil do begin Write(left1^.elem, ' '); left1:=left1^.next end; end; procedure DelFirst(var rig:link); Var a : link; begin if left=nil then begin write('pusto'); exit; end; If left=rig then Begin Dispose(rig); rig:=nil; left:=nil; end else Begin a:=left; While a^.Next<>rig do a:=a^.Next; Dispose(rig); a^.Next:=nil; rig:=a; end; end; begin; Left:=nil; Right:=nil; Writeln ('Створити нову чергу ? '); Writeln ('Якщо так то нажміть " 1 "'); Writeln ('Якщо ні, нажімть " 0 "'); Readln(x); if x=1 then begin repeat clrscr; Writeln('Черга створена'); Writeln('Виберіть наступну дію:'); Writeln('1) Додати елемент.'); Writeln('2) Вивести елементи.'); Writeln('3) Видалити елемент '); Writeln('4) Вихід з программи.'); writeln; ch:=readkey; If Ch=#0 then Ch:=Readkey; case ch of '1':begin Writeln('Введіть елемент, який потрібно додати'); readln(znach); Add(left,znach); end; '2': begin clrscr; Vivid(left); readln; end; '3':begin ClrScr; DelFirst(right); Vivid(left); Readln; end; end; until ch='4'; freememory(left); end else exit; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д