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

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

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Problem Description

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

    Input

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

    Output

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

    Sample Input

    8
    49 38 65 97 76 13 27 49

    Sample Output

    27 38 13 49 76 97 65 49

    题解:上学期学的快排,只要排一次就可以了。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int a[112345],n;
    
    void sort(int l,int r)
    {
        if(l>=r)
            return;
        int i = l,j = r;
        int x = a[l];
        while(i<j)
        {
            while(i<j&&a[j]>=x) j--;
            a[i] = a[j];
            while(i<j&&a[i]<=x) i++;
            a[j] = a[i];
        }
        a[i] = x;
    }
    
    int main()
    {
        int i;
        while(scanf("%d",&n)!=EOF)
        {
            for(i=0;i<n;i++)
                scanf("%d",&a[i]);
            sort(0,n-1);
            for(i=0;i<n;i++)
                printf("%d%c",a[i],i==n-1?'
    ':' ');
        }
        return 0;
    }
    
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    codevs 2977 二叉堆练习1x
    codevs 2010 求后序遍历x
    二叉树的序遍历x(内含结构体与非结构体版x)
    医院设置x
    求后序遍历x
    [LightOJ1017]Brush (III)(dp)
  • 原文地址:https://www.cnblogs.com/luoxiaoyi/p/10148323.html
Copyright © 2011-2022 走看看