資料結構學習 棧的鍊錶實現(程式化)

2021-06-29 16:10:51 字數 605 閱讀 8109

關於棧的基本概念以及和catalan數的關係,可以參見我的其他文章

參考資料《資料結構與演算法分析——c語言描述》

#include#include/*棧的鍊錶實現*/

typedef struct stacknode

stacknode,*stack;

stack createstack(void);//建立乙個空棧

void makeempty(stack s);//清空棧

int isempty(stack s);//測試是否是空棧

void push(int data,stack s);//入棧

void pop(stack s);//出棧

int top(stack s);//返回棧頂元素

int main()

stack createstack(void)

void makeempty(stack s)

int isempty(stack s)

void push(int data,stack s)

}void pop(stack s)

}int top(stack s)

資料結構學習 單鏈表ADT(程式化)

看了一點網上的 結合自己對鍊錶的理解。將對鍊錶常用的操作集合程式化如下 include includetypedef struct node list list list add list p,int val 此處是二級指標 void list print list p list list inse...

資料結構學習 鍊錶

將從下面4部分進行介紹 首先介紹鍊錶是什麼,然後介紹為什麼定義鍊錶,接著是鍊錶的分類,最後簡單介紹一下鍊錶結點的插入與刪除方法。首先,在介紹鍊錶之前,我們先介紹一下什麼是順序儲存結構。我們知道資料在計算機中的儲存就像貨物在倉庫中的儲存一樣,不但占用一定的空間,還要有乙個標示儲存位置的位址。計算機通過...

資料結構學習 鍊錶

由於不必須按順序儲存,鍊錶在插入的時候可以達到o 1 的複雜度,比另一種線性表順序表快得多,但是查詢乙個節點或者訪問特定編號的節點則需要o n 的時間,而線性表和順序表相應的時間複雜度分別是o logn 和o 1 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶...