Паскалда әмелге асырыў:
Стек
Lst көрсеткиш орнына Stack көрсеткишинен пайдаланылады.
Элемент қосыў (Push (S, X)) процедурасы
procedure Push(var Stack: PNode; X: Integer);
var
P: PNode;
begin
New(P);
P^.Info:=X;
P^.Next:=Stack;
Stack:=P;
end;
Бослығын тексериў (Empty)
function Empty(Stack: PNode): Boolean;
begin
If Stack = nil then Empty:=True Else Empty:=False;
end;
Элемент таңлаў (Pop) процедурасы
procedure Pop(var X: Integer; var Stack: PNode);
var
P: PNode;
begin
P:=Stack;
X:=P^.Info;
Stack:=P^.Next;
Dispose(P);
end;
Дизимге енгизиў мүмкин болған нәўбет әмеллери
Дизим басы көрсеткиши сыпатында нәўбет басы F көрсеткиши, дизим ақырғы элементин көрсетиўши көрсеткиш сыпатында нәўбет ақыры R көрсеткиши қаралады.
Нәўбеттен элементти өшириў әмели (Remove(Q, X)).
Билемиз, нәўбетте элементти өшириў әмели оның басынан әмелге асырылыўы лазым.
P = F
F = Ptr(P)
X = Info(P)
FreeNode(P)
Нәўбеттиң бослығын тексериў әмели (Empty(Q))
If F = Nil then Print “Нәўбет бос”
Stop
Нәўбетке элемент қосыў әмели (Insert(Q, X)).
Нәўбетке элемент қосыў оның ақырынан әмелге асырылыўы лазым.
P = GetNode
Info(P) = X
Ptr(P) = Nil
Ptr(R)= P
R = P
Do'stlaringiz bilan baham: |