zoukankan      html  css  js  c++  java
  • 数据结构实验之排序一:一趟快排

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

    Time Limit: 1000MS Memory Limit: 65536KB

    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;
    }
  • 相关阅读:
    leetcode第9题判断回文数
    leetcode整数反转第七题
    leetcode刷题两数之和
    找工作之旅
    C#和.Ne学习第五天
    C#和.Ne学习第四天
    C#和.Ne学习第三天
    C#和.Ne学习第二天
    C#和.Ne学习第一天
    从今天开始正事学习C#和.Net了
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/6444569.html
Copyright © 2011-2022 走看看