#sort函数的实例 头文件#include 可以对数组进行排序,也可以对容器排序 附代码:
void Verify_Sort() { cout<<"初始S的值:"; Output(); sort(s,s+10); cout<<"Sort排序后S的值:"; Output(); sort(s,s+10,compare); cout<<"自定义Sort排序后S的值:"; Output(); cout<<"初始Text的值:"; Vector_Output(); sort(text.begin(),text.end()); cout<<"第一次排序后Text的值:"; Vector_Output(); sort(text.begin(),text.end(),Vector_compare); cout<<"第二次排序后Text的值:"; Vector_Output(); }#容器vector的实例 代码:
void Verify_vector() { text.insert(text.begin()+2,99);//第三个元素前插入99 cout<<"插入一个数后Text的值:"; Vector_Output(); text.erase(text.begin()+2);//删除第3个元素 cout<<"删除一个数后Text的值:"; Vector_Output(); text.pop_back();//移除尾部的数 cout<<"删除最后一个数后Text的值:"; Vector_Output(); reverse(text.begin(),text.end());//容器内部数据翻转 cout<<"翻转后Text的值:"; Vector_Output(); cout<<"输出第四个数:"<<text.at(3)<<endl; cout<<"输出第一个数:"<<text.front()<<endl; cout<<"输出最后一个数:"<<text.back()<<endl; vector<int>::iterator it; it = lower_bound(text.begin(),text.end(),8); cout<<*it; text.clear();//清空 }vector的输出: 使用迭代器访问元素.
void Vector_Output() { vector<int>::iterator it; for(it = text.begin();it!=text.end();it++) cout<<*it<<" "; cout<<endl; }附上全部代码以及输出结果:
#include <iostream> #include <algorithm> #include <vector> using namespace std; vector<int> text; int s[10] = {3,5,7,4,2,9,5,2,1,6}; //自定义排序方式 bool compare(int a,int b) { if(a>b) return true; else return false; } bool Vector_compare(const int &a,const int &b) { if(a>b) return true; else return false; } void Output() { for(int i = 0;i<10;i++) cout<<s[i]<<" "; cout<<endl; } void Vector_Output() { vector<int>::iterator it; for(it = text.begin();it!=text.end();it++) cout<<*it<<" "; cout<<endl; } void Verify_Sort() { cout<<"初始S的值:"; Output(); sort(s,s+10); cout<<"Sort排序后S的值:"; Output(); sort(s,s+10,compare); cout<<"自定义Sort排序后S的值:"; Output(); cout<<"初始Text的值:"; Vector_Output(); sort(text.begin(),text.end()); cout<<"第一次排序后Text的值:"; Vector_Output(); sort(text.begin(),text.end(),Vector_compare); cout<<"第二次排序后Text的值:"; Vector_Output(); } //常用vector的函数 void Verify_vector() { text.insert(text.begin()+2,99);//第三个元素前插入99 cout<<"插入一个数后Text的值:"; Vector_Output(); text.erase(text.begin()+2);//删除第3个元素 cout<<"删除一个数后Text的值:"; Vector_Output(); text.pop_back();//移除尾部的数 cout<<"删除最后一个数后Text的值:"; Vector_Output(); reverse(text.begin(),text.end());//容器内部数据翻转 cout<<"翻转后Text的值:"; Vector_Output(); cout<<"输出第四个数:"<<text.at(3)<<endl; cout<<"输出第一个数:"<<text.front()<<endl; cout<<"输出最后一个数:"<<text.back()<<endl; vector<int>::iterator it; it = lower_bound(text.begin(),text.end(),8); cout<<*it; text.clear();//清空 } int main() { text.push_back(1); text.push_back(6); text.push_back(2); text.push_back(8); text.push_back(9); text.push_back(0); Output(); Verify_Sort(); Verify_vector(); return 0; } /运行结果 3 5 7 4 2 9 5 2 1 6 初始S的值:3 5 7 4 2 9 5 2 1 6 Sort排序后S的值:1 2 2 3 4 5 5 6 7 9 自定义Sort排序后S的值:9 7 6 5 5 4 3 2 2 1 初始Text的值:1 6 2 8 9 0 第一次排序后Text的值:0 1 2 6 8 9 第二次排序后Text的值:9 8 6 2 1 0 插入一个数后Text的值:9 8 99 6 2 1 0 删除一个数后Text的值:9 8 6 2 1 0 删除最后一个数后Text的值:9 8 6 2 1 翻转后Text的值:1 2 6 8 9 输出第四个数:8 输出第一个数:1 输出最后一个数:9 8