1
用reverse() 函数时要加算法头文件
#include<algorithm>
或者直接万能头文件
#include"bits/stdc++.h"
2
sort() 函数排序的范围是 [ first, last ),包括 first,不包括 last
sort() 可以用自定义的比较函数进行排
序,也可以用系统的4种排序:less、greater、
less_equal(小于等于)、greater_equal(大于等于)
sort(a.begin(),a.end(),greater<int>());//书写格式
第三个参数可以自定义,比如对结构体进行排序
bool my_less(int i, int j) {return (i < j);} //自定义小于,记忆方法(后面的比前面的大)
bool my_greater(int i, int j) {return (i > j);} //自定义大于,记忆方法(前面的比后面的大)
sort(a.begin(),a.end(),my_less);//升序输出
sort(a.begin(),a.end(),my_greater);//降序输出
sort() 函数还可以用来排序string字符串
3
string类型的一些处理方式
在尾部连接字符串
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
s=s+"abc";//在尾部连接abc字符串
s.append("abc");//另一种写法
cout<<s<<endl;
return 0;
}
在字符串中间插入字符(仅字符)
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
s="123456";
string::iterator it;
it=s.begin();
s.insert(it+1,'f'); //插入到第2个字符前
cout<<s<<endl;
return 0;
}
删除字符
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
s="abc123456";
string::iterator it=s.begin(); //迭代器访问
s.erase(it+3); //删除下标为3的元素
s.erase(it,it+4); //删除[0-4)的元素
cout<<s<<endl;
s="";
cout<<s.length()<<endl;
return 0;
}
替换字符
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
s="abc123456";
s.replace(3,3,“good”); //从下标3开始,将连续的3个字符替换为”good”
cout<<s<<endl;
return 0;
}
搜索子串
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
s="cat dog cat";
cout<<s.find(‘c’)<<endl; //返回找到的第一个下标值
cout<<s.find("c")<<endl;
cout<<s.find("cat")<<endl;
cout<<s.find("dog")<<endl;
cout<<s.find("dogc")<<endl;
return 0;
}
4
operator() 重载
5
迭代器遍历数据结构
set<int>::iterator it;
for(it =s.begin;it!=set.end;it++){...}