此文章包含了棧的結構體實現,單資料型別實現,以及清空,判空,入棧,出棧,求棧頂元素的實現
棧作為乙個最簡單的資料結構,實現起來也非常容易,想想現在有一摞盤子,每次只能取走或放乙個盤子且只能最上面進行操作;
那麼我們如果有乙個索引top時刻指向最上面的那個盤子,棧不就實現了麼?
第一段是單資料型別的**
#include #include #include #define maxn 110//棧的最大值
typedef int elem; //方便修改資料型別
typedef structstack;
stack stack; ///為了方便這裡直接定義全域性變數了,用區域性變數的話在每個函式加上取位址符和宣告就行了
void stack_pop()
void stack_push(elem buf)
int stack_empty()
void stack_clear()
int stack_size()
elem stack_top()
int main()
下面是結構體棧的實現,和上面的基本一樣,只修改了部分**,新增了乙個可以糅合資料型別的結構體陣列elem
#include #include #include #define maxn 11
typedef struct elem; ///要存用棧儲的資料型別
typedef structstack;
stack stack; ///為了方便這裡直接定義全域性變數了,用區域性變數的話加上取位址符和宣告就行了
void stack_pop()
void stack_push(elem buf)
int stack_empty()
void stack_clear()
int stack_size()
elem stack_top()
int main()
資料結構棧的實現以及基本操作(括號匹配
首先是一些基本的定義 include include include define maxsize 100 define increase 10 using namespace std typedef char elemtype typedef void status 資料結構的定義 typedef...
字典樹的C 實現以及應用
trie,字典樹,又稱單詞查詢樹 字首樹,是一種雜湊樹的變種。應用於字串的統計與排序,經常被搜尋引擎系統用於文字詞頻統計。後續再補充 參見 include using namespace std define max 26 typedef struct node node node createne...
迴圈單鏈表的實現以及相關操作
如果有不足之處我會加以改正,都是個人理解難免有錯誤的地方請諒解。由之前的單鏈表 雙鏈表在到迴圈鍊錶三個鍊錶之間有很多重複和相似的地方。大體的邏輯關係是一致的,不同地方在於首位和每個節點之間的關係 單鏈表 每個節點之間依靠指標鏈結 方向為頭 尾 頭節點和尾節點 next均為null雙鏈表 每個節點之間...