進棧演算法
發布時間: 2025-05-15 06:56:02
『壹』 入棧出棧題目怎麼做
棧的原則是先進後出,進棧序列為el,e2,e3,e4,芹信不是說一次性進入的,而是先進了el,e2,這時候出棧的話一定出e2,e3,e4又進棧,這時候出棧順序就是e4,e3,el 了,總的出棧順序就是e2,e4,e3,渣州el 了。
棧的特點是先進後出,即:進去的早,出來的晚。
54321進棧,5在棧底,1在棧頂!
出一次棧,則棧頂的1先出來,2成為新的棧頂。
ABCD入棧,D成為新的棧頂。
全部出棧:D C B A 2 3 4 5
綜上,所有元素退棧順序為:1 D C B A 2 3 4 5
進棧(PUSH)演算法
①若TOP≥n時,則給出溢出信息,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢出;不滿則作②);
②置TOP=TOP+1(棧指針加1,指向進棧地址);
③S(TOP)=X,結束(X為新進棧的元素);
退棧(POP)演算法
①若TOP≤0,則給出下溢信息,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作嫌梁輪②);
②X=S(TOP),(退棧後的元素賦給X):
③TOP=TOP-1,結束(棧指針減1,指向棧頂)。
以上內容參考:網路-棧
熱點內容