当前位置: 代码迷 >> C语言 >> 请教大家
  详细解决方案

请教大家

热度:147   发布时间:2007-12-11 21:10:52.0
请教大家
int  Divide(int  *  array,int  s,int  t)
{
        int  x  =  array[s];        
        int  low  =  s ,high  =  t;
        while(low  <  high)
        {
                while(low  <  high  &&  array[high]  >=  x)  high--;  
                if(low  <  high)
                {                              
                        array[low]  =  array[high];
                        low++;        
                }  
                while(low  <  high  &&  array[low]  <  x)  low++;  
                if(low  <  high)
                {                              
                        array[high]  =  array[low];
                        high--;  
                }      
                array[low]  =  x;
               
                return  low;  
        }  
上面是快速排序算法的部分程序代码,如果输入的有两位数和一位数,在输出时一位数的顺序老是不对.
----------------解决方案--------------------------------------------------------
  相关解决方案