/*
 * author:lx
 * breif: 2011.09.22
 * brief: quick-sort
 */


#include <stdio.h>
#include <stdlib.h>


void
quick_sort( int *x, int l, int u )
{
        if ( l >= u )
        {
                return;
        }

        int m = l;
        int i;
        for ( i = l+1; i < u; i++ )
        {
                if ( x[i] < x[l] )
                {
                        int temp;
                        m++;
                        temp = x[ m ];
                        x[ m ] = x[ i ];
                        x[ i ] = temp;
                }
        }

        int temp;
        temp = x[ l ];
        x[ l ] = x[ m ];
        x[ m ] = temp;


        quick_sort( x, l, m -1 );
        quick_sort( x, m + 1, u );
}



int
main( void )
{
        int a[8] = { 41, 26, 53, 55, 59, 58, 97, 93 };
        int len = sizeof( a ) / sizeof( int );

        quick_sort( a, 0, len );

        int i;
        for ( i = 0; i < len; i++ )
        {
                printf( "%d\n", a[i] );
        }

        exit( 0 );
}

  

相关文章:

  • 2021-11-23
  • 2022-02-04
  • 2021-07-06
  • 2021-08-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-24
  • 2021-12-09
  • 2021-11-19
  • 2021-08-21
  • 2021-07-19
  • 2021-09-02
相关资源
相似解决方案