#include
using
namespace std;
typedef
int qelemtype;
//資料型別
typedef
struct qnode qnode,
*queueptr;
//結點型別
typedef
struct
linkqueue;
//結點指標型別
//1.初始化
bool
initqueue
(linkqueue &q)
//2.入隊,不需判空
bool
enqueue
(linkqueue &q, qelemtype e)
//3.隊頭元素
qelemtype gethead
(linkqueue q)
}
//4.出隊
bool
dequeue
(linkqueue & q,qelemtype & e)
delete p;
return
true
;}
//5.遍歷
void
getall
(linkqueue q)
cout <<
"總共有"
<< time <<
"個元素"
<< endl;
}
//6.銷毀
bool
destroyqueue
(linkqueue &q)
return
true
;}
//7.清空
bool
clearqueue
(linkqueue &q)
q.rear = q.front;
return
true
;}
int
main()
cout <<
"棧頂元素為"
<<
gethead
(s)<< endl;
cout <<
"棧所有元素為"
<< endl;
getall
(s);
//出棧if(
dequeue
(s, e)
) cout <<
"移除棧頂的元素是"
<< e
"棧空"
<< endl;
cout <<
"棧剩下所有元素為"
<< endl;
getall
(s);
clearqueue
(s);
cout <<
"清零後,棧剩下所有元素為"
<< endl;
getall
(s);
destroyqueue
(s);
cout <<
"銷毀後,棧剩下所有元素為"
<< endl;
getall
(s);
}
棧和佇列 2鏈棧
adrian 鏈棧元素入棧 例如,將元素 1 2 3 4 依次入棧,等價於將各元素採用頭插法依次新增到鍊錶中,每個資料元素的新增過程如圖 2 所示 鏈棧元素出棧 例如,圖 2e 所示的鏈棧中,若要將元素 3 出棧,根據 先進後出 的原則,要先將元素 4 出棧,也就是從鍊錶中摘除,然後元素 3 才能出...
演算法設計 鏈棧和鏈佇列 鏈棧和鏈佇列的實現
1.鏈佇列。利用帶有頭結點的單鏈表來實現鏈佇列,插入和刪除的複雜度都為o 1 include include typedef struct qnode qnode typedef struct linkqueue linkqueue void initialize linkqueue linkque...
3 鏈棧和鏈佇列
鏈棧 1 include2 using namespace std 3struct node 7enum error 8class stack 22 初始化 棧頂指標置為空,計數變數設定為0 23 stack stack 2728 29 判斷棧是否為空 count 0 top null 30 31b...