【三】佇列的鏈式儲存結構---單鏈表
(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...