C++queue容器(笔记自用
概念:queue是一种先进先出(First In FIrst Out,FIFO)的数据结构,它有两个出口
队列容器允许从一端新增元素,从另一端移除元素
队列钟只要队头和队尾才可以被外界使用,因此队列不允许有遍历行为
队列中进数据被称为–入队push
队列中出数据被称为–出队pop
构造函数:
queue<T>que;//queue采用模板类实现,queue对象的默认构造形式
queue(const queue &que);//拷贝构造函数
赋值操作:
queue& operator=(const queue &que)
数据存取
push(elem);//往队尾添加元素
pop();//从对头移除第一个元素
back();//返回最后一个元素
front();//返回第一个元素
大小操作:
empty();//判断堆栈是否为空
size();//返回栈的大小
示例:
//需要包含对应的头文件<queue>
class person
{
public:
person(string name,int age)
{
this->m_name=name;
this->m_age=age;
}
string m_name;
int m_age;
}
void test01()
{
queue<int>q;
person p1("moumou",30);
person p2("didi",15);
person p3("huahua",123);
person p4("zhujue",18);
//入队
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
//判断只要队列不为空,查看对头,查看队尾,出队
while(!q.empty())
{
//查看队头
cout<<"name:"<<q.front().m_name<<"age:"<<q.front().m_age<<endl;
//查看队尾
cout<<"name:"<<q.back().m_name<<"age:"<<q.back().m_age<<endl;
//出队
}
}