欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1020: 排序问题<2>

程序员文章站 2022-03-30 17:43:25
...

Description

将十个数进行从大到小的顺序进行排列

Input

十个整数

Output

以从大到小的顺序输出这个十个数,每一个数末尾有一个空格~

Sample Input

1 2 3 4 5 6 7 8 9 10

Sample Output

10 9 8 7 6 5 4 3 2 1

#include <stdio.h>
#include <algorithm>
using namespace std;
int comp(int i,int j){
    return i>j;
}
int main() {
    int a[10];
    int i;
    for (i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }
    sort(a, a + 10,comp);
    for (i = 0; i < 10; i++) {
        printf("%d ", a[i]);
    }
    return 0;
}

此程序里面调用了库函数,其中的sort排序复杂性平均而言,在距离介于第一和最活的,刚过去的*大约执行N*log2(N)(在哪里N就是这个距离)元素的比较,最多是那么多的元素交换(或移动)。

Sort函数包含在头文件为#include<algorithm>的c++标准库中。Sort函数使用模板: Sort(start,end,排序方法)开始为数组的起始地址。

Sort函数有三个参数:

(1)第一个是要排序的数组的起始地址。

(2)第二个是结束的地址(最后一位要排序的地址的下一地址)

(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。