C++中 : deque插入与删除

两端插入操作:
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;
}

版权声明:本文为qq_44748946原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。