1、sort()
1.1 基本数据类型排序1.2 结构体向量排序 2、reverse3、find
1、sort()vetor1.1 基本数据类型排序vec; sort(vec.begin(),vec.end(),way);
默认情况下way是less(),从小到大排序,若改成greater()则是从大到小排序。
1.2 结构体向量排序此时sort函数的way需要自定义。
struct Book{
int price;
string name;
}
bool cmy(Book a , Book b){
return a.price > b. price;
}
sort(vec.begin(),vec.end(),cmy);
使得原向量按照price从大到小排序。大于号表示从大到小,小于号表示从小到大与优先队列中优先级设置过程正好相反。
2、reverse能够使得容器元素逆置。
string st = "abcdefg"; reverse(st.begin(),st.end()); cout << st;3、find
find函数能够寻找vector向量中指定元素的地址,减去vector.begin()能够得到指定元素下标。
#include#include #include #include using namespace std; int main(){ vector vec; vec.push_back(1); vec.push_back(2); vec.push_back(3); vec.push_back(4); vec.push_back(5); vector ::iterator it = find(vec.begin(),vec.end(),3); //返回元素3的下标 cout << it-vec.begin(); return 0; }



