/*使用標準庫的棧*/
#include //標頭檔案
stacks; //定義乙個 int 型的棧
s.empty() //如果棧為空返回true,否則返回false
s.size() //返回棧中元素的個數
s.pop() //刪除棧頂元素但不返回其值
s.top() //返回棧頂的元素,但不刪除該元素
s.push() //在棧頂壓入新元素
/*使用標準庫的佇列*/
#include //標頭檔案
queueq; //定義乙個 int 型的佇列
q.empty() //如果隊列為空返回true,否則返回false
q.size() //返回佇列中元素的個數
q.pop() //刪除佇列首元素但不返回其值
q.front() //返回隊首元素的值,但不刪除該元素
q.push() //在隊尾壓入新元素
q.back() //返回佇列尾元素的值,但不刪除該元素
/*優先佇列*/
/*優先順序佇列支援的操作*/
q.empty() //如果隊列為空,則返回true,否則返回false
q.size() //返回佇列中元素的個數
q.pop() //刪除隊首元素,但不返回其值
q.top() //返回具有最高優先順序的元素值,但不刪除該元素
q.push(item) //在基於優先順序的適當位置插入新元素
/*以下為優先佇列的測試***/
#include#include#include #include #include#includeusing namespace std;
//定義比較結構
struct cmp1
};struct cmp2
};struct number2
for(i=0; num1[i].x; i++)
que5.push(num1[i]);
for(i=0; num2[i].x; i++)
que6.push(num2[i]);
printf("採用預設優先關係:\n(priority_queueque;)\n");
printf("queue 0:\n");
while(!que.empty())
puts("");
puts("");
printf("採用結構體自定義優先順序方式一:\n(priority_queue,cmp>que;)\n");
printf("queue 1:\n");
while(!que1.empty())
puts("");
printf("queue 2:\n");
while(!que2.empty())
puts("");
puts("");
printf("採用標頭檔案\"functional\"內定義優先順序:\n(priority_queue,greater/less>que;)\n");
printf("queue 3:\n");
while(!que3.empty())
puts("");
printf("queue 4:\n");
while(!que4.empty())
puts("");
puts("");
printf("採用結構體自定義優先順序方式二:\n(priority_queueque)\n");
printf("queue 5:\n");
while(!que5.empty())
puts("");
printf("queue 6:\n");
while(!que6.empty())
puts("");
return 0;}/*
執行結果 :
採用預設優先關係:
(priority_queueque;)
queue 0:
83 72 56 47 36 22 14 10 7 3
採用結構體自定義優先順序方式一:
(priority_queue,cmp>que;)
queue 1:
7 10 14 22 36 47 56 72 83 91
queue 2:
83 72 56 47 36 22 14 10 7 3
採用標頭檔案"functional"內定義優先順序:
(priority_queue,greater/less>que;)
queue 3:
7 10 14 22 36 47 56 72 83 91
queue 4:
83 72 56 47 36 22 14 10 7 3
採用結構體自定義優先順序方式二:
(priority_queueque)
queue 5:
7 10 14 22 36 47 56 72 83 91
queue 6:
83 72 56 47 36 22 14 10 7 3
*/
棧和佇列以及優先佇列 知識點
棧的定義 stack 資料型別 棧的名稱 佇列的定義 queue 資料型別 佇列名稱 實現 以int為例 stack sta queue que 棧名sta,佇列名que sta.push 元素入棧 que.push 元素佇列 sta.pop 最頂端元素出棧 que.pop 最底端元素出佇列 sta...
c 佇列,棧,優先佇列的基本操作
優先佇列 priority queue 的基本操作 struct node struct node empty 隊列為空返回1 pop 出隊 push 入隊 top 返回佇列中優先順序最高的元素 size 返回佇列中元素的個數 佇列 que.empty 如果隊列為空返回true,否則返回false ...
C 標準庫之棧(stack)和佇列(queue)
在c 標準庫 stl 中,實現了棧和佇列,方便使用,並提供了若干方法。以下作簡要介紹。1 棧 stack 說明及舉例 使用棧,要先包含標頭檔案 include 定義棧,以如下形式實現 stack s 其中type為資料型別 如 int,float,char等 棧的主要操作 s.push item 將...