資料結構 四 棧

2021-10-25 07:47:32 字數 938 閱讀 7261

棧是限定僅在表尾進行插入和刪除的線性表

typedef

struct

sqstack;

棧的順序基本操作:

**(1)**進棧操作

status push

(sqstack *s,selemtype e)

s->top++

; s->data[s->rop]

=e;return ok;

}

**(2)**出棧操作

status pop

(sqstack *s,selemtype *e)

*e=s->data[s->top]

; s->top--

;return ok;

}

typedef

struct stacknode

stacknode,

*linkstackptr;

typedef

struct linkstack

linkstack;

**(1)**進棧操作

status push

(linkstack *s,selemtype e)

**(2)**出棧操作

status pop

(linkstack *s,selemtype *e)

*e=s->top->data;

p=s->top;

s->top=s->top->next;

//頭結點為下乙個節點

free

(p);

s->count--

;return ok;

}

資料結構 (四)棧

總體來說,棧的知識比線性表 順序表簡單很多。但是同時也有許多需要注意的點,稍稍不注意就可能會出現錯誤,因此,雖然簡單一點,但也要細心學習。一 基本知識 棧 限定僅在表尾進行插入和刪除操作的線性表。允許插入和刪除的一端稱為棧頂,另一端稱為棧底。空棧 不含任何資料元素的棧。棧的操作特性 後進先出 注意 ...

資料結構之棧(四)

本文將繼續擴充套件stack在arithmetical expression的處理方面的應用,其中包括 postfix2prefix postfix2infix 和 infix2postfix 一 postfix2prefix 它是通過多次入棧和出棧來完成的。主要步驟是 遍歷 postfix str...

java資料結構(四) 棧

樹結構是一種描述非線性關係的資料結構。對於樹的基本概念不想過多贅述,可以自行查閱相關資料,這裡主要講解一種簡單的樹結構 二叉樹。二叉樹是樹的一種特殊形式,它有n個結點,每個結點最多有兩個子結點。二叉樹的子樹仍然是二叉樹,二叉樹的兩個子樹分別是左子樹和右子樹,因此二叉樹也是有序樹。二叉樹又分為 完全二...