您的位置:首页 > 编程语言 > C语言/C++

排序——C++函数调用

2015-10-03 14:01 267 查看
C++提供了qsort函数对数据进行快读排序,也提供了sort函数对vector和list进行排序,比较函数和函数类型的参数是排序函数的关键。
#include<iostream>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<list>
#include<iterator>

using namespace std;

int QsCmp(const void *a, const void *b)
{
return *(int *)a-*(int *)b;
}

int SCmp(int a, int b)
{
return a > b;
}

int main()
{
vector<int> m;
list<int> l;
list<int>::iterator it;
int a;
for (int i = 0; i < 8; i++)
{
cin >> a;
m.push_back(a);
l.push_back(a);
}
/*
快速排序函数调用,第一个参数为指针首地址,第二个参数为排序数组大小,第三个参数为类型所占的字节数,最后一个为比较函数
*/
qsort(&m[0],8,sizeof(int),QsCmp);
for (int i = 0; i < 8; i++)
cout << m[i] << endl;
/*
向量排序
*/
sort(m.begin(),m.end(), SCmp);
for (int i = 0; i < 8; i++)
cout << m[i] << endl;
/*
list排序
*/
l.sort(SCmp);
for (it = l.begin(); it!=l.end(); it++)
cout << *it << endl;
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  排序