zoukankan      html  css  js  c++  java
  • 1064-快速排序

    描述

     

    给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中快速排序算法进行排序,并输出排序最后结果的相应序列。

    输入

     

    共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤100000,每个元素值范围为 [0,100000)

    输出

     

    一行,输出排序结果。

    样例输入

    7

    48 36 68 72 12 48 2

    样例输出

    2 12 36 48 48 68 72

    #include<stdio.h>
    #include<stdlib.h>
    int qkpass(int *r,int left,int right)
    {
        int i,j, x=r[left];
        i=left;
        j=right;
        while(i<j)
        {
            while(i<j&&r[j]>=x)
                j--;
            if(i<j)
            {
                r[i]=r[j];
                i++;
            }
            while(i<j&&r[i]<x)
                i++;
            if(i<j)
            {
                r[j]=r[i];
                j--;
            }
        }
        r[i]=x;
        return i;
    }
    
    
    void qksort(int*r,int i,int j)
    {
        int p;
        if(i<j)
        {
            p=qkpass(r,i,j);
            qksort(r,i,p-1);
            qksort(r,p+1,j);
        }
    }
    int main()
    {
        int i,*r,len;
        scanf("%d",&len);
        r=(int*)malloc(len*sizeof(int));
        for(i=0;i<len;i++)
            scanf("%d",&r[i]);
        qksort(r,0,len-1);
        for( i=0;i<len-1;i++)
            printf("%d ",r[i]);
        printf("%d
    ",r[len-1]);
        free(r);
        return 0;
    }
    

      

  • 相关阅读:
    fatal: protocol error: bad line length character: This
    httpd: apr_sockaddr_info_get() failed for bogon
    Go语言函数
    Go语言流程控制
    进制转换
    Go语言运算符
    LeetCode 62. Unique Paths
    LeetCode 61. Rotate List
    asdfasdfasdf
    开发者,别让自己孤独
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436699.html
Copyright © 2011-2022 走看看