两端插入操作:
1、push_back(elem); //在容器尾部添加一个数据
2、push_front(elem); //在容器头部插入一个数据
3、pop_back(); 删除容器最后一个数据
4、pop_front(); 删除容器第一个数据
指定位置操作:
1、insert(pos,elem); 在pos位置插入一个elem元素的拷贝,返回新数据的位置
2、insert(pos,n,elem); 在pos位置插入n个elem元素数据,无返回值
3、insert(pos,beg,end); 在pos位置插入[beg,end]区间的数据,无返回值
4、clear(); 清空容器的所有数据
5、erase(beg,end); 删除[beg,end]区间的数据,返回下一个数据的位置
6、erase(pos); 删除pos位置的数据,返回下一个数据的位置
例如:
#include<iostream>
using namespace std;
#include<queue>
//对列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<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;
cout << "-----------------------------" << endl;
//出队
q.pop();
}
cout << "对列大小" << q.size() << endl;
}
/*
入队:push
出队:pop
返回队头元素:front
返回队尾元素:back
判断对列四否为空:empty
判断对列大小:size
*/
int main()
{
test01();
system("pause");
return 0;
}