• 数据结构实验之排序一:一趟快排


                                                                     数据结构实验之排序一:一趟快排

    Time Limit: 1000MS Memory Limit: 65536KB

    Submit Statistic

    Problem Description

    给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。

    Input

    连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。

    Output

    输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。

    Example Input

    8
    49 38 65 97 76 13 27 49

    Example Output

    27 38 13 49 76 97 65 49
    #include <stdio.h>
    
    int n;
    void puts(int a[],int n)  //输出函数
    {
    int i;
    for(i=0;i<n-1;i++)
    {
    printf("%d ",a[i]);
    }
    printf("%d\n",a[i]);
    }
    
    int main()
    {
    int i,j;
    int a[1234];
    while(~scanf("%d",&n))
    {
    for(i=0;i<n;i++)
    {
    scanf("%d",&a[i]);
    }  //一趟快排
         i = 0,j = n-1;
    int x = a[0];
    while(i<j)
    { while(i<j && a[j]>=x)
    {
    j--;//printf("12\n");
    }
    a[i] = a[j];
    while(i<j && a[i]<=x)
    {
    i++;
    //printf("11\n");
    }
    
    a[j] = a[i];
    }
    a[i] = x;
    puts(a,n);
    
    }
    return 0;
    }
  • 相关阅读:
    寻找回文数
    【C/C++语言入门篇】 位运算
    怎样判断输入是否结束
    命名那个数字
    Broken Necklace
    C#打造邮件接受器VS2005版
    C#应用程序打包时自动安装MSDE
    SQL6.5到2005发布的版本号搜集整理
    SQL无限分类存储过程整理2
    ASP.NET调用SWF代码文件
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782111.html
Copyright © 2020-2023  润新知