Procedure Viewing_Top (pTop: PtrRec; var D: TypeElement); Begin D := pTop^.Element; End;
Function Empty_Stack (pTop: PtrRec) : Boolean; Begin Empty_Stack := pTop = Nil; End;
Procedure Copy_Stack(pTop1: PtrRec; var pTop2: PtrRec); Var pAux, pTop3 : PtrRec; Begin pTop3 := Nil; If pTop1 <> Nil Then Begin pAux := pTop1; While pAux <> Nil do Begin Add_Stack(pTop3, pAux^.Element); pAux := pAux^.pNext; End; pTop2 := Nil; pAux := pTop3; While pAux <> Nil do Begin Add_Stack(pTop2, pAux^.Element); pAux := pAux^.pNext; End; End; Else pTop2 := Nil; End;
На следующем шаге мы рассмотрим очереди, сформированные на базе однонаправленного списка.