鏈棧:
1 #include2using
namespace
std;
3struct
node;
7enum
error;
8class
stack;
22/*
初始化:棧頂指標置為空,計數變數設定為0
*/23
stack::stack()
2728
/*29
*判斷棧是否為空:count=0||top=null
30*/
31bool stack::empty()const
3435
/*36
*取棧頂元素的實現,若棧不為空,返回棧頂元素的值,否則返回出錯資訊
37*/
38int stack::get_top(int &x)const
4344
/*45
*入棧46
*/47
int stack::push(const
intx)
5556
/*57
出棧58
*/59
intstack::pop()
6869 stack::~stack()
7273
int xchg(int
n,stack s)
81while(s.empty()!=true
)86 cout<87return0;
88}89int
main()
9095
鏈佇列:
1 #include2 #include3using
namespace
std;45
enum
error;67
struct
node;
1112
class
queue;
2526 queue::queue()
3536
bool queue::empty()const
4142
int queue::get_front(int &x)const48}
4950
int x)
5960
int queue::serve()
69if(front->next==null)rear=front;//
如果刪除的是最後乙個結點,尾指標rear指向了乙個已經刪除的節點
70return
success;71}
7273 queue::~queue()
7778
intmain()
97 cout<<1
輸出當行中的子最後乙個元素1並換行
);99
}100
return0;
101 }
演算法設計 鏈棧和鏈佇列 鏈棧和鏈佇列的實現
1.鏈佇列。利用帶有頭結點的單鏈表來實現鏈佇列,插入和刪除的複雜度都為o 1 include include typedef struct qnode qnode typedef struct linkqueue linkqueue void initialize linkqueue linkque...
鏈棧與鏈佇列
首先,我們先搞清楚,棧的原理就是現金後出,譬如往箱子裡面放球,最先放進去的最後拿出來。下面給一下我臭臭的 include include 定義結構體 struct node int main q p 列印建立的鍊錶 t head next while t null 鏈棧 先入後出,因此新入的數應該在...
棧和佇列5 鏈佇列
在鏈佇列中,head指向頭節點,但是實際的head是head指向的節點,即第乙個有元素的節點 tail在迴圈佇列中指向空位置,但是在鏈佇列中,tail指向最後乙個節點 和鏈棧一樣採取兩個結構體的形式 typedef struct queuenode qqueuenode,queueptr typed...