/* * 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 ); }