| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 358 人关注过本帖
标题:请教大家
只看楼主 加入收藏
夏冰雨点
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-12-7
收藏
 问题点数:0 回复次数: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;  
        }  
上面是快速排序算法的部分程序代码,如果输入的有两位数和一位数,在输出时一位数的顺序老是不对.
2007-12-11 21:10
快速回复:请教大家
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016444 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved