鏈式結構棧

2021-10-06 19:38:32 字數 784 閱讀 9583

【三】佇列的鏈式儲存結構---單鏈表

(1)定義

1.使用有頭結點的單鏈表來模擬

2.使用head和rear指標來模擬佇列

3.head為佇列頭的前乙個節點,rear為隊尾節點

(2)隊尾插入操作

在rear後面插入元素

(3)刪除隊頭元素

刪除fhead的下乙個元素

如果刪除前只有乙個元素,那麼在刪除後要讓rear指向頭結點

(4)特點

1.時間複雜度為o(1)

2.佇列長度不固定

#ifndef listqueue_h

#define listqueue_h

#include #include #include typedef int elemtype;

typedef struct node_node,*nodeptr;

typedef struct linkqueue;

nodeptr mallocnode()

void initqueue(linkqueue *q)

void printqueue(linkqueue *q)

printf("\n");

}// 入隊操作

int enqueue(linkqueue *q, elemtype e)

// 出隊操作

int dequeue(linkqueue *q, elemtype *e)

#endif // listqueue_h

棧的鏈式結構

2 棧的鏈式結構實現 include include include typedef inttype 元素型別別名 宣告順序棧結構體 typedef struct stack stack void init stack 初始化 void push stack type 入棧 type pop sta...

棧 鏈式儲存結構

講完了棧的順序儲存結構,現在來看棧的鏈式儲存結構,簡稱為鏈棧。想想看,棧只是棧頂來做插入和刪除操作,棧頂放在鍊錶的頭部還是尾部?由於單鏈表有頭指標,而棧頂指標也是必須的,所以比較好的辦法是把棧頂放在單鏈表的頭部。都已經有了棧頂在頭部了,單鏈表中常用的頭結點也就失去了意義,通常對於鏈棧來說,是不需要頭...

棧(鏈式儲存結構)

通常由乙個一維陣列和乙個棧頂元素變數組成 如下 define maxsize struct stacknode struct stacknode createstack void push struct stacknode s,elementtype x elementtype pop struct...