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

C++学习(十八)——vector容器

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

C++学习(十八)——vector容器

vector功能类似于数组 1、vector构造函数——创建vector容器的四种方式
#include 
#include 
#include 

using namespace std;

void print(vector& v){
	for(vector::iterator it = v.begin();it != v.end();it++){
		cout<<*it<<" ";
	}
	cout< v; //采用模板实现类实现,默认构造函数
	vector v1;
	for(int i=0;i<10;i++){
		v1.push_back(i);
	}
	print(v1);
	
	//vector(v.begin(), v.end()); //将v[begin(), end())区间中的元素拷贝给本身。
	vector v2(v1.begin(),v1.end());
	print(v2);
	
	//vector(n, elem); //构造函数将n个elem拷贝给本身。
	vector v3(10,100);
	print(v3);
	
	//vector(const vector &vec); //拷贝构造函数。
	vector v4(v3);
	print(v4);
}

int main(){
	test();
	return 0;
}
2、vector赋值操作——三种复制方法
#include 
#include 
#include 

using namespace std;

void print(vector& v){
	for(vector::iterator it = v.begin();it != v.end();it++){
		cout<<*it<<" ";
	}
	cout< v; //采用模板实现类实现,默认构造函数
	vector v1;
	for(int i=0;i<10;i++){
		v1.push_back(i);
	}
	print(v1);
	
	//vector& operator=(const vector &vec); //重载等号操作符
	vector v2;
	v2 = v1;
	print(v2);
	
	//assign(begin, end); //将[begin, end)区间中的数据拷贝赋值给本身。
	vector v3;
	v3.assign(v1.begin(),v1.end());
	print(v3);
	
	//assign(n, elem); //将n个elem拷贝赋值给本身。
	vector v4;
	v4.assign(10,100);
	print(v4);
}

int main(){
	test();
	return 0;
}
3、vector容量和大小操作
#include 
#include 
#include 

using namespace std;

void print(vector& v){
	for(vector::iterator it = v.begin();it != v.end();it++){
		cout<<*it<<" ";
	}
	cout< v; //采用模板实现类实现,默认构造函数
	vector v1;
	for(int i=0;i<10;i++){
		v1.push_back(i);
	}
	print(v1);
	//empty(); //判断容器是否为空
	if(v1.empty()){
		cout<<"v1为空"< 
4、vector插入和删除 
#include 
#include 
#include 

using namespace std;

void print(vector& v){
	for(vector::iterator it = v.begin();it != v.end();it++){
		cout<<*it<<" ";
	}
	cout< v; //采用模板实现类实现,默认构造函数
	vector v1;
	//push_back(ele); //尾部插入元素ele
	v1.push_back(10);
	v1.push_back(20);
	v1.push_back(30);
	v1.push_back(40);
	v1.push_back(50);
	print(v1);//10 20 30 40 50
	
	//pop_back(); //删除最后一个元素
	v1.pop_back();
	print(v1);//10 20 30 40
	
	//insert(const_iterator pos, ele); //迭代器指向位置pos插入元素ele
	v1.insert(v1.begin(),100);
	print(v1);//100 10 20 30 40
	
	// insert(const_iterator pos, int count,ele); //迭代器指向位置pos插入count个元素ele
	v1.insert(v1.begin(),2,1000);
	print(v1);//1000 1000 100 10 20 30 40
	
	//erase(const_iterator pos); //删除迭代器指向的元素
	v1.erase(v1.begin());
	print(v1);//1000 100 10 20 30 40
	
	// erase(const_iterator start, const_iterator end); //删除迭代器从start到end之间的元素
	v1.erase(v1.begin(),v1.end());
	print(v1);//空 
	
	//clear(); //删除容器中所有元素
	v1.clear();
	print(v1);//空 
}

int main(){
	test();
	return 0;
}
5、vector数据读取
#include 
#include 
#include 

using namespace std;

void test(){
	//vector v; //采用模板实现类实现,默认构造函数
	vector v1;
	for(int i=0;i<10;i++){
		v1.push_back(i);
	}
	
	//operator[]; //返回索引idx所指的数据
	for(int i=0;i 
6、vector互换容器 

         swap(vec);
  // 
 将
 vec
 与本身的元素互换 
 
7、vector预留空间  

         
 reserve(int len)
 ; 
 //
 容器预留
 len
 个元素长度,预留位置不初始化,元素不可访问。 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/347781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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