1.queue基本概念
概念:queue是一种先进先出的数据结构,他有两个出口
图形:
___________队列方向___________________\
队尾 (只能进) (只能出) 对头 /
_________________________________
| | | | | |
push() 入| 元素 |元素 | 元素 | 元素 | |pop()出数据-出队
入数据 队|_______|______|______|______|____|
back() front()
1.队列容器允许从一端新增元素,从另一端移除元素
2.队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
3.队列中进数据称为--入队 push
4.队列中出数据称为--出队 pop
2.queue 常用接口
功能描述:栈容器常用的对外接口
构造函数:
queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
queue(const queue &que);//拷贝构造函数
赋值操作:
queue& operator=(const queue &que);//重载等号操作符
数据存取:
push(elem);//往队尾添加元素
pop(); //从队头移除第一个元素
back(); //返回最后一个元素
front(); //返回第一个元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
//创建
queue<Person>q;
//准备数据
Person p1("唐僧",30);
Person p2("孙悟空", 1000);
Person p3("猪八戒",900);
Person p4("沙僧",800);
//入队
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
cout << "队列大小为: " << q.size() << endl;
//判断只要队列不为空,查看队头,查看队尾.出队
while (!q.empty())
{
//查看对头
cout << "对头元素--姓名: " << q.front().m_Name << "年龄: " << q.front().m_Age << endl;
//查看队尾
cout << "对尾元素--姓名: " << q.back().m_Name << "年龄: " << q.back().m_Age << endl;
q.pop();//从队头移除第一个元素
}
cout << "队列大小为: " << q.size() << endl;
总结:
* 入队 --push
* 出队 --pop
* 返回对头元 --front
* 返回队尾元素 --back
* 判断队是否为空 --empty
* 返回队列大小 --size
仅个人看视频笔记与理解,如有误可指出谢谢