快速排序

 

ExpandedBlockStart.gif 代码
       void  main()
        {
            
// Init array
             int [] a  =   new   int [ 10 ];
            a[
0 =   10 ;
            a[
1 =   1 ;
            a[
2 =   3 ;
            a[
3 =   2 ;
            a[
4 =   6 ;
            a[
5 =   5 ;
            a[
6 =   4 ;
            a[
7 =   9 ;
            a[
8 =   8 ;
            a[
9 =   7 ;

            
//  Sort
            QuickSort(a,  0 9 );

            
string  s  =   "" ;
            
for  ( int  i  =   0 ; i  <   10 ; i ++ )
            {
                s 
+=  a[i].ToString();
            }

            txtResult.Text 
=  s;

        }

        
void  QuickSort( int [] array,  int  leftBound,  int  rightBound)
        {
            
if  (leftBound  <  rightBound)
            {
                
int  middle  =  array[(leftBound  +  rightBound)  /   2 ];
                
int  i  =  leftBound - 1 ;
                
int  j  =  rightBound + 1 ;

                
while  ( true )
                {
                    
while  (array[ ++ i]  >  middle) ;
                    
while  (array[ -- j]  <  middle) ;

                    
if  (i  >=  j)
                        
break ;
                    Swap(array, i, j);
                }

                QuickSort(array, leftBound, i
- 1 );
                QuickSort(array, j
+ 1 , rightBound);
            }
        }

        
void  Swap( int [] array,  int  i,  int  j)
        {
            
int  temp  =  array[i];
            array[i] 
=  array[j];
            array[j] 
=  temp;
        }

 

 

转载于:https://www.cnblogs.com/yanghuaizhi1982/articles/1777339.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值