本篇的目的是介紹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函數的原理感興趣,
請自行百度,查看別人的介紹。