二、string库与vector库

一、string类库(字符串)

#include<iostream>
#include<string>
using namespace std;
int main(void)
{
	//string类型的定义与初始化 
	string s1;
	string s2="123456789";
	string s3(10,'p'); //n个字符初始化 
	string s4;
	cout<<s3<<endl;
	cout<<s4.size()<<endl;
	
	//string的子串
	cout<<s2.substr()<<endl; //全部子串
	cout<<s2.substr(4)<<endl; //索引第4位以后的子串 
	cout<<s2.substr(4,3)<<endl; //索引第4位以后3位的子串 
	
	//string的特征描述
	cout<<s2.capacity()<<endl; //返回当前容量(即不用增加内存就能放置的元素个数)
	cout<<s2.max_size()<<endl; //返回string对象可存放的最大字符串的长度
	/*
	s2.length(); 长度 
	s2.size();长度 
	s2.empty();判断是否为空 
	*/
	s1.resize(12,'k'); //重新设置s1的长度,为12,并且初始值全部为‘k’。 
	cout<<s1<<endl; 
	
	
	//string的查找函数
	string ss="456";
	cout<<s2.find('5',0)-s2.find(s2[0],0)<<endl; //find从pos开始查找s2中当前ch出现的位置 ,返回字符串的当前位置
	cout<<s2.find(ss,0)-s2.find(s2[0],0)<<endl; //从pos开始查s1在s2中当前出现的位置
	
	/* 
	cout<<s2.find_first_of(ss,0)-s2.find(s2[0],0)<<endl; //从pos开始找s2中ss第一次出现的位置,返回子串串的当前位置。
	s2.find_first_not_of(); //查找第一个不出现的位置;
	s2.find_last_not_of(); //从后向前查找 
	*/
	
	//string的迭代表示 
	for(string::iterator it=ss.begin();it!=ss.end();++it)
	cout<<*it<<" ";
	
	return 0; 
}

参考文章

 

二、vector类库(可变长度的数组)

1、vector的定义与初始化

#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
	//vector的定义
	vector <int> v1;
	vector <vector <int> > v2;
	//两种定义均合法
	
	vector <int> vv1(5,10);//vv1的长度为5,每个元素都是10
	//除此之外,vector还支持(),=,列表式等初始化方式。
	vector <int> vvv1(10); //10个元素,每个元素初始值为0
	区分
	vector <int> vc(10,1);//vc有10个元素,每个元素为1 
	vector <int> vd{10,1}; //vd有10,1两个元素
	
	return 0; 
} 

2、vector常用函数

#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
	int x=1;
	vector <int> vc;
	vc.push_back(x); //向vc中输入元素 
	vc.size(); //求出vc的大小 
	vc[0]; //vc的元素 
	vc.resize();//调整vc的大小 
	vc.clear();//清空vc 
	
	//vc在algorithm中的常用函数 
	sort(vc.begin(),vc.end(),cmp); //以cmp的规则排序 
	reverse(vc.being(),vc.end());//翻转 
	return 0;
}

3、vector函数的iterator使用

#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int main(void)
{
	vector <int> vc;
	for(int i=1;i<=12;i++) vc.push_back(i);
	for(vector <int>::iterator it=vc.begin(); it!=vc.end(); it++)
	cout<<*it<<endl;
	return 0; 
} 

补充文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值