資料結構 八 棧

2021-08-15 08:26:02 字數 773 閱讀 3170

1、演算法

棧是後入先出的規則,在**實現的時候,構造棧鍊錶的時候,節點指向前面的節點,而佇列節點指向後面的節點,以便出棧的時候,**實現方便。

2、**示例

#ifndef data_struct_stack_h

#define data_struct_stack_h

#include using namespace std;

class stack;

~node(){};

node* pre;//區別

int value;

};public:

stack();

~stack(){};

//佇列四大元素

node* qhead;//隊頭

node* qrear;//隊尾

void push(int value)//插入元素的時候,主要是更新棧尾

n1->pre=qrear;//需要注意這個地方與佇列的區別

qrear=n1;

}node * pop()

node* temp=qrear;

qrear=qrear->pre;

return temp;

}bool empty()

void main();

for (int i = 0; i <10 ; ++i)

while(!empty())

{node* n=pop();

std::cout

資料結構 棧 棧

可以把棧想像成乙個桶 進棧 就是把和桶口一樣大的燒餅往桶裡面扔 出棧 就是把燒餅拿出來 特點 先進後出。先扔進去的燒餅最後才能拿出來,最後扔進去的燒餅,第乙個拿出來 剛開始top 1 top 1 然後把進棧的元素賦值給data top 入棧操作 void push stack s,int x els...

資料結構(八)

一 迴圈鍊錶 迴圈鍊錶是單鏈表的變形。迴圈鍊錶最後乙個結點的 link 指標不 為null,而是指向了表的前端。為簡化操作,在迴圈鍊錶中往往加入表頭結點。迴圈鍊錶的特點是 只要知道表中某一結點的位址,就可搜尋到所有其他結點的位址。二 迴圈鍊錶的定義 typedef char listdata typ...

資料結構實驗之棧八 棧的基本操作

time limit 1000ms memory limit 65536k 有疑問?點這裡 堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。首先輸入整數t 1 t 10 代表測試的...