C++容器

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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋进在AI路上的小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值