• 洛谷 1177 【模板】快速排序


    题目描述

    利用快速排序算法将读入的N个数从小到大排序后输出。

    快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++选手请不要试图使用STL,虽然你可以使用sort一遍过,但是你并没有掌握快速排序算法的精髓。)

    输入输出格式

    输入格式:

    输入文件sort.in的第1行为一个正整数N,第2行包含N个空格隔开的正整数a[i],为你需要进行排序的数,数据保证了A[i]不超过1000000000。

    输出格式:

    输出文件sort.out将给定的N个数从小到大输出,数之间空格隔开,行末换行且无空格。

    输入输出样例

    输入样例#1:
    5
    4 2 4 5 1
    输出样例#1:
    1 2 4 4 5

    说明

    对于20%的数据,有N≤1000;

    对于100%的数据,有N≤100000。

    #include<cstdio>
    using namespace std;
    int i[100001],n;
    void Qsort(int t1,int t2)
    {
        int x=t1,y=t2,m=i[(t1+t2)>>1],t;
        do
        {
            while (i[x]<m)
              x++;
            while (i[y]>m)
              y--;
            if (x<=y)
            {
                t=i[x];
                i[x]=i[y];
                i[y]=t;
                x++;
                y--;
            }
        }
        while (x<=y);
        if (t1<y)
          Qsort(t1,y);
        if (x<t2)
          Qsort(x,t2);
    }
    int main()
    {
        scanf("%d",&n);
        for(int a=1;a<=n;a++) scanf("%d",&i[a]);
        Qsort(1,n);
        for(int a=1;a<=n;a++) 
    if(a==1) printf("%d",i[a]); else printf(" %d",i[a]); printf(" "); return 0; }
  • 相关阅读:
    【开发技术】Eclipse设置软tab(用4个空格字符代替)及默认utf-8文件编码(unix)
    【开发技术】Xcode3与xcode4.2模板对比(Xcode4.2开发之一些变化)
    cobol
    头文件的相互包含会导致错误
    ndk eclipse集成
    为何要用到NDK?
    Android之NDK开发
    一个完整的NDK编译过程
    NDK中 .so文件的加载
    Android.mk 变量解释
  • 原文地址:https://www.cnblogs.com/chen74123/p/6711139.html
Copyright © 2020-2023  润新知