• 3047: 快速排序算法


    3047: 快速排序算法

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 287  Solved: 252
    [Submit][Status][Web Board]

    Description

    设计一个程序,实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。

    Input

     

    Output

    每个排序过程输出一行,直到排序完成。

    Sample Output

    6,8,7,9,0,1,3,2,4,5
    ...
    ...

    HINT

    #include<stdio.h>
    void quicksort(int a[],int left,int right)
    {
        int i,j,temp,t,k;
        if(left>right)
            return ;
        temp=a[left];
        i=left;
        j=right;
        while(i!=j)
        {
            while(a[j]>=temp&&i<j)
                j--;
            while(a[i]<=temp&&i<j)
                i++;
            if(i<j)
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
        a[left]=a[i];
        a[i]=temp;
        for(k=0;k<10;k++)
        {
            if(k==9)
                printf("%d",a[k]);
            else
                printf("%d,",a[k]);
        }
        printf("\n");
        quicksort(a,left,i-1);
        quicksort(a,i+1,right);
        return ;
    }
    int main()
    {
        int a[10]={6,8,7,9,0,1,3,2,4,5};
        quicksort(a,0,9);
        return 0;
    }
    

     还是快速排序,只不过把每一步都打印了出来

  • 相关阅读:
    类间关系总结
    Android数据持久化技术
    广播
    活动
    Clean Code
    理解async特性
    async和await构成的异步方法
    ubuntu开启ssh服务
    lumen可以使用laravel-ide-helper
    laravel excel迁移到lumen
  • 原文地址:https://www.cnblogs.com/mjn1/p/9027797.html
Copyright © 2020-2023  润新知