本篇的目的是介绍C++中的sort函数。
一、背景
随机生成n个整数,对其分别按照升序和降序排序。
二、程序代码
#include<functional>//less、greater函数
#include<iostream>//cin、cout
#include<algorithm>//sort函数
using namespace std;
void print(int *a, int n)
{
for (int i = 0; i < n; i++)
cout << *a++ << " ";
cout << endl;
}
int main()
{
int n = 10;
int k;
int *num=new int[n];//动态数组
int x, y;
for (k = 0; k<n; k++)
{
num[k] = rand() % 21;//随机生成不超过20的函数
}
print(num, n);
x = 0; y = n;
//对下标[x,y]之间的数据排序,升序
sort(num + x, num + y, less<int>());
print(num, n);
//对下标[x,y]之间的数据排序,降序
sort(num + x, num + y, greater<int>());
print(num, n);
delete []num;
return 0;
}
三、运行结果
四、解析
与C语言相比,sort函数要比qsort函数好用一些。
如果你对sort函数和qsort函数的原理感兴趣,
请自行百度,查看别人的介绍。