C+部分标准库容器:vector,string,array

本文详细介绍了C++中的一些标准库容器,包括vector的特点和操作,如初始化、swap、增删元素;string的特性和容器操作,如初始化、插入、替换、搜索和数值转换;array的初始化和swap操作探讨;以及deque的基本概念。此外,还提及了list和forward_list的特点。
摘要由CSDN通过智能技术生成

vector

一、特点

可变长数组,支持下标访问,在尾部之外的位置插入/删除元素较慢

二、容器操作
1.初始化

	vector<int>vec0{
    1,2,3,3,2,1 };   //列表初始化
	vector<int>vec1(10, 1);          //vec1是含有10个int类型元素的容器,且每个元素初始化为1
	vector<int>vec2{
    10,1 };         //vec2含有两个int元素,10和1

	vector<string>vec3(10, "hello");//vec3含有10个string类型的元素,每个元素都是字符串"hello"
	vector<string>vec4{
    10,"hello" }; //vec4和vec3一样

2.swap操作及探讨
swap从外观看两个容器的元素交换了,我们将打印两个容器的首元素地址观察交换前后有无变化

	vector<string>vec3(10, "hello");
	vector<string>vec4{
    5,"world" }; 
	
	cout << &vec3[0] << endl;//011FB758
	cout << &vec4[0] << endl;//011FB8A0

	swap(vec3, vec4);
	//vec3.swap(vec4); 这样也可以哦
	cout << &vec3[0] << endl;//011FB8A0
	cout << &vec4[0] << endl;//011FB758
我们发现,swap之后,两个容器首元素地址也互换了,说明vector执行swap操作交换的是两个容器的数据结构,而不单单是值的交换!

3.增删元素和assign
push_back

	vector<int>vec1{
    1,2,3,4,5 };
	vec1.push_back(100);  //vec1: 1,2,3,4,5,100

insert

指定位置插入元素

	vector<int>vec1{
    1,2,3,4,5 };

	//在指定位置的前面插入元素,返回插入元素的位置
	vec1.insert(vec1.end() - 1, 99); //vec1:1,2,3,4,99,5

利用insert的返回值

	//下面这个循环利用了insert的返回值,只要输入的tem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值