//當使用stl的queue時,元素入隊的push操作只是製造了該元素的乙個副本入隊
//因此在入隊後對原元素的修改不會影響佇列中的副本
//而佇列中副本的修改也不會改變原元素,需要注意由此可能引入的bug(一般由結構體產生)
//所以是啥bug???
//#include
//#include
//using namespace std;
////struct nodea[10];
//int main()
// //直接把隊首元素(即a[1])的資料域改為100
// q.front().data = 100;
// //事實上對佇列元素的修改無法改變原元素
// printf("%d %d %d\n",a[1].data,a[2].data,a[3].data);
// //然後直接修改a[1]的資料域為200
// a[1].data = 200;
// //事實上對原元素的修改也無法改變佇列中的元素
// printf("%d\n",q.front().data);
// return 0;
//}//這就是說,當需要對佇列中的元素進行修改而不僅僅是訪問時,
//佇列中存放的元素最好不要是元素本身,而是它們的編號
#include
#include
using
namespace std;
struct nodea[10]
;int
main()
a[q.
front()
].data =
100;
為下標,通過a[q.front()]即可修改原元素
printf
("%d"
,a[1
].data)
;return0;
}
STL中queue的使用
基本操作 empty 如果隊列為空返回真 pop 刪除對頂元素 push 加入乙個元素 size 返回優先佇列中擁有的元素個數 top 返回優先佇列對頂元素 在預設的優先佇列中,優先順序高的先出隊。在預設的int型中先出隊的為較大的數。使用方法 標頭檔案 include 宣告方式 1 普通方法 pr...
STL庫之queue佇列使用
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。佇列的資料元素又稱為佇列元素。在佇列中插入乙個佇列元素稱為...
STL 中佇列的使用 queue
基本操作 push x 將x壓入佇列的末端 pop 彈出佇列的第乙個元素 隊頂元素 注意此函式並不返回任何值 front 返回第乙個元素 隊頂元素 back 返回最後被壓入的元素 隊尾元素 empty 當隊列為空時,返回true size 返回佇列的長度 使用方法 標頭檔案 include 宣告方法...