STL stack和queue、priori_queue用法複習

棧是基本的數據結構:

stack<Type> s; 
s.push(item);  
s.pop(); // 刪除棧頂的元素但不返回
s.top(); // 返回棧頂的元素但不刪除
s.size();
s.empty();

隊列的操作差不多:

queue<Type> q;
q.push(item);  
q.front(); // 返回隊首元素但不刪除
q.pop();  // 刪除隊首元素
q.back(); // 返回隊尾元素但不刪除
q.size(); 
q.empty();

優先隊列,可以是大頂堆,也可以是小頂堆。下面的pop/push都是O(logn)。可以用優先隊列進行堆排序和Dijkstra算法的優化。

priority_queue<Type> q;
q.top();  // 返回具有最高優先級的元素值但不刪除 
q.pop();  // 刪除最高優先級元素
q.push(item); // 插入新元素
發佈了166 篇原創文章 · 獲贊 59 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章