一、vector
1.push_back(),在vector后面添加元素
vector<int>v;
v.push_back(3);
v.push_back();
2.pop_back(),删除vector的最后一个元素
v.pop_back();
3.size(),返回vector的长度
v.size();
4.clear(),清空vector
v.clear();
5.resize(),重新定义vector的长度
用法一:第一个参数是设置vector的长度为10,第二个参数是将数组里面的元素都赋值为2。
v.resize(10,2);
用法二:只有一个参数:vector的长度。
如果之前的vector的长度小于10,则后面补齐到10,之前的元素保持不变,后面的元素为0。
如果之前的vector的长度大于10,则第10个元素之后的元素都删除掉。
v.resize(10);
6.erase()
用法一:删除一个元素
v.erase(v.begin()+2);//删除下标为2的元素
用法二:删除一整个区间中的元素
v.erase(v.begin(),v.begin()+2);//删除前两个元素,下标为2的元素没有删除。
7.insert(),在vector的某个位置插入一个元素
第一个参数为迭代器指代的位置,第二个参数为插入的元素。
v.insert(v.begin()+1,10);//在下标为1的位置插入10。
二、stack
stack是栈,先进后出。
1.定义
stack<int>s;
2.push(),将元素压入栈顶
s.push(2);
3.pop(),将栈顶元素弹出
s.pop();
4.top(),返回栈顶元素
int a=s.top();
5.size(),返回栈中元素的数目
int len=s.size();
6.empty(),判断栈是否为空,如果是空,返回true.
s.empty();//常用来做判定条件
三、queue
queue是队列,先进先出。
1.定义
queue<int>q;
2.push(),将元素添加进队尾
q.push(1);
3.pop(),将队头的元素弹出
q.pop();
4.front(),返回队首元素
int a=q.front();
5.back(),返回队尾元素
int b=q.back();
6.size(),返回队长
int len=q.size();
7.empty(),判断队是否是空的
q.empty();//常用作判定条件
四、string
1.string的定义
string a="abc";
这里就定义了一个“abc”的字符串。
2.length(),返回字符串的长度
cout<<a.length()<<endl;
a的长度为3
3.compare(),将字符串与另外一个字符串进行比较大小,如果比后面的字符串大,则返回1,相等则返回0,比后面的字符串小,则返回-1.
string a="abc";
string b="b";
string c="ab";
string d="abc";
cout<<a.compare(b)<<endl;//返回-1
cout<<a.compare(c)<<endl;//返回1
cout<<a.compare(d)<<endl;返回0
compare函数有两个参数,如果比后面的字符串的ASCII码值大,则返回1,相等则返回0,比后面的字符串的ASCII码值小则返回-1.
4.substr(),截取字符串
string c="abcdefg";
cout<<c.substr(2,3)<<endl;//截取字符串c从下标2开始长度为3的字符串。所以这里返回cde
这里要注意第二个参数是指截取的字符串长度,而不是截取的字符串末尾位置。
5.sort(),对字符串内部的字符进行排序
string c="cdeab";
sort(c.begin(),c.end());
cout<<c<<endl;//c就变成了“abcde”
将字符串内的字符按照ASCII值大小从小到大进行排序。
6.insert(),在字符串中指定位置插入字符
string a="abcde";
a.insert(a.begin()+2,'p');
cout<<a<<endl;//所以a变成“abpcde”
7.append(),在字符串后面添加字符串
string a="abc";
a.append("def");
cout<<a<<endl;//所以a变成了abcdef
8.erase(),删除指定位置的字符
string a="abcde";
a.erase(a.begin()+2);
cout<<a<<endl;//这里a就变成了abde
string a="abcde";
a.erase(a.begin()+2,a.begin()+3);
cout<<a<<endl;//这里a变成了abde,也就是删除了下标为[2,3)的元素。
9.replace(),替代字符串中的字符
string a="abcde";
a.replace(a.begin(),a.begin()+3,"12");
cout<<a<<endl;//这里a变成了12de,因为将下标为[0,3)的元素替换成了“12”
10.find(),查找出现的字符串的位置
string c="abcbc";
cout<<c.find("bc")<<endl;//返回下标1,因为是返回第一次出现的位置
cout<<c.find("bc",2)<<endl;//返回3,因为是从字符串下标为2的地方开始查找第一次出现的位置。