stack容器
stack基本概念
stack是一种先进后出(first in lastout,filo)的数据结构,它只有一个出口
栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为
可以类比弹匣,羽毛球筒等,先进后出,因为先放进去会压在最下面,它想出来就需要上面的出来才行。
stack构造函数
- stack stk;//stack采用模板类实现,stack对象的默认构造形式
- stack(const stack &stk);//拷贝构造函数
赋值操作
- stack& operator=(const stack &stk);//重载等号操作符
数据存取
- push(elem);//向栈顶添加元素
- pop();//从栈顶移除第一个元素
- top();//返回栈顶元素
大小操作
- empty();//判断堆栈是否为空
- size();//返回栈的大小
#include<iostream>
using namespace std;
#include<stack>
void test()
{
stack<int> stk;
stk.push(10);
stk.push(20);
stk.push(30);
stk.push(40);
cout << "栈的大小:" << stk.size() << endl;
//只要栈不为空,查看栈顶,并执行出栈操作
while (!stk.empty())
{
cout << stk.top() << " ";
stk.pop();
}
cout << endl;
cout << "栈的大小:" << stk.size() << endl;
}
int main()
{
test();
}栈的结构还是非常简单的,只需要记住它是先进后出的结构即可。
queue容器
queue基本概念
queue是一种先进先出(first in first out,fifo)的数据结构,它有两个出口。
可以类比生活中的排队场景,排在前面的人先办理好业务离开。先进先出规则。
queue构造函数
- queue que;//queue采用模板类实现,queue对象的默认构造形式
- queue(const queue &que);//拷贝构造函数
queue赋值操作
- queue& operator=(const queue &que);//重载等号操作符
queue数据存取
- push(elem);//往队尾添加元素
- pop();//从队头移除第一个元素
- back();//返回最后一个元素
- front();数据存取//返回第一个元素
queue大小操作
- empty();//判断堆栈是否为空
- size();//返回栈的大小
#include<iostream>
using namespace std;
#include<queue>
void test()
{
queue<int>q;
q.push(10);
q.push(20);
q.push(30);
q.push(40);
cout << "q的大小" << q.size() << endl;
while (!q.empty())
{
cout << "队头:" << q.front() << " ";
cout << "队尾:" << q.back() << " ";
cout << endl;
q.pop();
}
cout << "q的大小" << q.size() << endl;
}
int main()
{
test();
}到此这篇关于c++中的stack容器和queue容器的文章就介绍到这了,更多相关c++ stack和queue容器内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论