stack
stack 是后进先出的数据结构,只能插入,删除,访问栈顶的元素。
可用 vector, list, deque来实现。缺省情况下,用deque实现。
用 vector和deque实现,比用list实现性能好。
stack 上可以进行以下操作:
push 插入元素
pop 弹出元素
top 返回栈顶元素的引用
queue
和stack 基本类似,可以用 list和deque实现。缺省情况下用deque实现。
同样也有push, pop, top函数。
但是push发生在队尾;pop, top发生在队头。先进先出。
有 back成员函数可以返回队尾元素的引用
priority_queue
priority_queue 通常用堆排序技术实现,保证最大的元素总是
在最前面。即执行pop操作时,删除的是最大的元素;执行top
操作时,返回的是最大元素的常引用。默认的元素比较器是
less。
#include
#include
using namespace std;
int main()
{
priority_queue pq1 pq1.push(3.2); pq1.push(9.8); pq1.push(9.8);pq1.push(5.4);
while( !pq1.empty() ) {
cout << pq1.top() << " ";
pq1.pop();
} //出 上面输出 9.8 9.8 5.4 3.2
cout << endl;
priority_queue<double,vector,greater > pq2;
pq2.push(3.2); pq2.push(9.8); pq2.push(9.8); pq2.push(5.4);
while( !pq2.empty() ) {
cout << pq2.top() << " ";
pq2.pop();
}
//出 上面输出 3.2 5.4 9.8 9.8
return 0;
}
容器适配器的元素个数
stack,queue,priority_queue 都有
empty() 成员函数用于判断适配器是否为空
size() 成员函数返回适配器中元素个数
容器适配器
最新推荐文章于 2023-10-12 07:45:00 发布