1.string 容器
string str1 ="ABC";
string str2 ="DEF";
//增加
str1.append(str2,0,3) ;//ABCDEF
//删除
str1.erase(3,3);//ABC
//改变
str1.replace(0,3,"111");//111
//查找
str1.find("111");
str1.rfind("111");
2.vector 容器/deque容器
vector<int>v1;
//增加
v1.insert(v1.begin()+i,100);//在容器中i的位置增加数字100;
//删除
v1.erase(v1.begin()+i);//删除容器中第i个位置的元素
//改变
v1[i]=100;//也可以使用v1.at(i)=100;
//查找
没有简单方法
stack<int> s;
//增加
s.push(1);
//删除
s.pop();
//查找---只能看最上面的数据
s.top()
3. stack-栈 先进后出
stack<int> s;
//增加
s.push(1);
//删除
s.pop();
//查找---只能看最上面的数据
s.top()
4.queue-队列 先进先出
queue<int> q;
//增加---从队尾增加
q.push(1);
//删除---从队首删除
q.pop();
//查找
q.back()//返回队尾的数据
q.fornt()//返回队首的数据
5.list容器---双向链表
list<int>L;
//增加
list<int>::iterator it = L.begin();
L.insert(++it, 1000);//由于链表的特殊性,只能采用++it的方式找到想要增加数据的位置
//删除
it = L.begin();
L.erase(++it);//删除++it位置的元素
L.remove(1);//删除链表中为1的元素
//改变
list<int>::iterator it = L.begin();
*it=0;
//查找
没有合适的方法
6. set容器---二叉树
set<int>s;
//增加---set只能用insert()去插入函数
s.insert(1);
s.insert(3);
s.insert(3);
s.insert(2);//输出结果为1 2 3
//删除
//删除数值1节点
s.erase(1);
//删除排序后的的第一个节点
s.erase(s.begin());
//改变---先删除,再插入自己想要的值
s.erase(2);
s.insert(4);
//查找
set<int>::iterator pos = s.find(30);
if (pos != s.end())
{
cout << "找到了元素 : " << *pos << endl;
}
else
{
cout << "未找到元素" << endl;
}