資料結構 鏈棧(C C 版)

2021-08-18 08:05:38 字數 709 閱讀 2983

本文為csdn博主coder_gxd原創

本文介紹資料結構中單鏈表的常用演算法(c/c++版),歡迎各位同學討論指正。

#include //函式malloc(),free()所在標頭檔案   

//本文鏈棧為含有頭結點的鏈棧

//定義鏈棧結點

typedef struct lnode lnode;

//鏈棧初始化**,時間複雜度為o(1);

//建立空棧lst,並初始化為空

void initstack(lnode *&list)

//判斷棧空,時間複雜度為o(1);

//棧空返回1,否則返回0;

int isempty(lnode *lst)

else

} //進棧操作,時間複雜度為o(1);

//將資料元素 x 進棧,一般不存在棧滿情況(除非超出記憶體)

void push (lnode *lst,int x)

//出棧操作,時間複雜度為o(1);

//鏈棧lst出棧,出棧資料賦給x,若成功返回1,鏈空,出棧失敗返回0;

void pop (lnode *lst,int &x)

lnode *p=lst->next;

x=p->data;

lst->next=p->next;//這三句實現刪除鏈棧結點操作;

}

資料結構 鏈隊(C C 版)

本文為csdn博主coder gxd原創 include 函式malloc free 所在標頭檔案 本文鏈隊為不含頭結點的鏈隊 定義鏈隊結點 typedef struct qnode qnode 定義鏈隊型別 typedef struct liqueue 初始化鏈隊,時間複雜度為o 1 建立鏈隊,並...

資料結構 棧 鏈棧

棧的插入和刪除只在棧頂進行操作,在單鏈表中,頭指標是單鏈表的必須元素 而在棧中,棧頂指標也是鏈棧的必須元素,且一般將棧頂放在單鏈表的頭部。線性表有順序儲存結構和鏈式儲存結構,棧屬於線性表的一種,也具有順序儲存結構和鏈式儲存結構。對於棧的鏈式儲存結構,一般稱之為鏈棧。棧的特點 先進後出 棧函式實現 1...

資料結構 鏈棧

編寫乙個程式,實現鏈棧 假設棧中元素型別為char 的各種基本運算。並完成下面功能 1 初始化鏈棧s 2 判斷鏈棧s是否非空 3 依次進鏈棧元素a,b,c,d,e 4 判斷鏈棧s是否非空 5 輸出鏈棧長度 6 輸出從棧頂到棧底元素 7 輸出出鏈棧序列 8 判斷鏈棧s是否非空 9 釋放鏈棧。inclu...