棧的插入 刪除問題

2021-08-07 18:10:00 字數 531 閱讀 8736

棧的插入一直比較懵,經常理不清頭緒。今天做了乙個關於棧的問題,思維還算清晰。。趕緊記錄下來。。。

大家應該都了解,棧是一種先入後出的資料結構。在進行插入時top指標決定著具體的操作,根據指標的不同,棧的操作分為兩種情況,具體如下:

1、top指標所指向的是真實的棧頂節點

若指標正好指向的是節點本身,在棧中插入乙個點p類似於在鍊錶操作中的top節點前插入p,可得步驟為:p->next=top;top=p;

刪除為:top=p->next; free p

2、top作為乙個節點,next才是棧頂節點

進行插入時的步驟為:p->next=top->next; top->next=p;

刪除時步驟為:top->next=p->naxt; free p

棧的建立,插入,刪除

資料結構學到了棧的部分了,呵呵自己寫了下程式,希望來訪的朋友多多提出意見啊!大家共同進步 include include include include define stack init size 10 define stackincrement 10 define ok 0 define err...

順序棧和鏈棧的初始化插入和刪除

棧分為順序棧和鏈棧,它們的特點分別如下 順序棧 用一維陣列s m 來表達,top代表棧頂,當棧是空的,top 1,當棧是滿的top m 1。順序棧的定義 typedef int elemtype typedef struct sqstack sqstack 進棧 elemtype push elem...

順序棧的初始化,建立,插入,查詢,刪除

順序棧的初始化,建立,插入,查詢,刪除。author wang yong date 2010.8.19 include include define max 100 定義最大棧容量 typedef int elemtype 定義棧型別 typedef struct seqstack 棧的初始化 se...