C语言快速排序之sort排序

原文:https://blog.csdn.net/lee371042/article/details/78620457 

STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件<algorithm>
这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b),即sort(数组+a,数组+b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了如果数组第一个元素的下标是1,则是sort(a+1,a+101),默认的排序方式是升序.

/*sort排序*/

#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
    int num[100];
    int n;
    while(~scanf("%d",&n))
    {
        int i;
        for(i=0; i<n; i++)
        {
            scanf("%d",&num[i]);
        }
        sort(num,num+n);
        for(int i=0; i<n; i++)
            printf("%d ",num[i]);
        printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41376345/article/details/85017031