#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