栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++STL

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++STL

STL主要包括这三个部分

然后第一节这边就简单教了一下通过迭代器来遍历输出数的两种方法,一个while,一个for

while (v != array1.end())
	{
		cout << *v << endl;
		v++;
	}
	
	
	
	for (vector::iterator It = array1.begin(); It != array1.end(); It++)
	{
		cout << *v << endl;
	}

初始化vector的几种方法

    vectorv1(10);
	vectorv2(10, 2);
	vectorv3(v1);
	vectorv4(v2.begin(), v2.end());
	vectorv5(v1.begin(), v1.begin() + 4);
	int hello[10] = { 1,2,3,4,5,6,7 };
	vectorv6(hello, hello + 2);

vector的一些内置函数,然后这边要着重区分一下reverse和resize这两个。

1、resize(n) 

调整容器的长度大小,使其能容纳n个元素。

如果n小于容器的当前的size,则删除多出来的元素。

否则,添加采用值初始化的元素。

2、 resize(n,t)

多一个参数t,将所有新添加的元素初始化为t。

而reserver()的用法只有一种

reserve(n)

预分配n个元素的存储空间。

vectorv7, v8;
	v7.assign(v1.begin(), v1.begin() + 4);//将一个容器数据复制给另一个容器
	v8.assign(7, 4);
	//auto &TMP = v8.front();
	int &tmp = v8.front();
	v8.push_back(111);//末尾填充数
	int &TMP2 = v8.back();
	int &tmp4 = v8[3];
	v8.clear();
	if (v8.empty())
	{
		cout << "空";
	}
	v8.assign(v1.begin(), v1.begin() + 114);//复制的范围
	v8.pop_back();//删除最后一个元素
	v8.erase(v8.begin(), v8.begin() + 2);//指定删除范围
	
	v8.push_back(1111);
	v8.insert(v8.begin() + 1,12);//注意这里是插入

	int num1 = v8.size();//实际大小
	int num2= v8.capacity();//预分配空间

	v8.resize(100);//填充
	v8.resize(70, 123);
	v8.resize(100);
	v8.reserve(60);//预分配扩容
	v8.swap(v5);//整块内存直接交换

几种vector的访问方式

	for (vector::iterator it=a1.begin(); it != a1.end(); it++)
	{
		cout << *it;
	}
	//访问方式2
	for (int i = 0; i < a1.size(); i++)
	{
		cout << a1[i] << endl;
	}
    //访问方式3
	for (auto &tmp : a1)
	{
		cout << tmp << endl;
	}

vector的几个算法

sort排序是从小到大

sort(a1.begin(), a1.end());

reverse倒置,但补排序

reverse(a1.begin(), a1.end());

复制copy,但要提前开辟空间

vectorb1;
copy(a1.begin(), a1.end(),b1.begin());

查找find

auto pos = find(a1.begin(), a1.end(), 4);

---

string本质上是个容器

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号