vector就是类似于一个数组的容器,内容比数组更加全面。很多操作都有自己的函数可以直接拿过来进行使用。主要函数就是:
v.push_back(k); 尾插元素;
v.insert(it,k); 在任意位置插入元素;
v.eraser(it,it+k); 删除任意元素;
v.size(); 容量;
v.clear(); 清空容器;
v.empty(); 判断容器是否为空;
reverse(v.begin(),v.end());反转任意段元素
sort(v.begin(),v.end(),cmp);sort排序默认由小到大,cmp可以自由规定排序规则。
迭代器声明:
vector
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
bool cmp(const int &a,const int &b){
return a>b;
}
int main ()
{
set<int> c;
queue<int> q;
cout<<"------------[vector] 分割线-------------\n"<<endl;
vector<int> v(1);
v[0]=0;
v.push_back(1); // 尾插元素
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.insert(v.begin(),55); // 插入元素
v.insert(v.begin()+1,66);
vector<int>::iterator p; // vector迭代器
for(p=v.begin();p!=v.end();p++)
cout<<*p<<" ";
cout<<endl;
cout<<v.size()<<endl; // vector元素个数
reverse(v.begin(),v.end()); // 反转vector
sort(v.begin(),v.end(),cmp); // sort一下vector
v.erase(v.begin()+1); // 删除元素
v.clear(); // 清空vector
cout<<v.empty()<<endl;
cout<<v.size()<<endl;
return 0;
}
string就是一个串类,在stl库中可以直接定义数据类型为string,而在c中只有字符类型和数组类型,串并不是一种类型,不过可以定义为字符数组来代替。这里面直接使用string可以更方便一点的。
include
include
include
include
using namespace std;
int main()
{
cout<<"------------[string] 分割线-------------\n"<<endl;
string s;
// 输入读取串 getline(cin,s);
s="z2345";
s+="6789";
string::iterator it; // string迭代器
it=s.begin();
s.insert(it+1,'p'); // string插入字符
s.erase(it+2,it+4); // 删除[it+2,it+4)元素
s.replace(6,2,"golfz"); // 替换下标为6长度为2的串
cout<<s.find("z")<<endl; // 查找子串,返回第一个出现的位置
cout<<s.length()<<endl; // 返回串的长度
cout<<s<<endl;
vector<string> ff; // string对象作为vector对象
ff.push_back("Jack");
ff.push_back("Tom");
ff.push_back("Mchical");
cout<<ff[2]<<endl;
return 0;
}
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询