| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:高手帮忙 求c++ 快速排序
取消只看楼主 加入收藏
hugh2006
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-7-12
收藏
 问题点数:0 回复次数:1 
高手帮忙 求c++ 快速排序
#include<iostream>
using namespace std;
void QuickSort(int *a,int low,int high)
{
     int i=low,j=high;
     int temp=a[low];
     if(i<j)
     {
            while(i<j)
            {
                      while(i<j&&temp<a[j])j--;
                      if(i<j){a[i]=a[j];i++;}
                      while(i<j&&temp>=a[i])i++;
                      if(i<j){a[j]=a[i];j++;}
            }
            a[i]=temp;
            QuickSort(a,low,i-1);
            QuickSort(a,i+1,high);
     }         
}

 main()
{
      int n;
      
      while(cin>>n)
      {
      int *a=new int [n];
      int i=0;
      int p=n;
      while(p--)
      {cin>>a[i];i++;}
      QuickSort(a,0,n-1);
      p=n;
      i=0;
      while(p--)
      {cout<<a[i]<<" ";i++;}
      cout<<endl;
      }
      system("pause");
}
17
23 949 123 23 334 12 245 3 45 66 21 -34 5 6 7 22 34
用这组数据测试结果是
-34 3 5 6 7 12 21 22 23 23 0 34 45 66 123 245 949
应该是
-34 3 5 6 7 12 21 22 23 23 34 45 66 123 245 334 949
搜索更多相关主题的帖子: include 
2008-07-16 16:43
hugh2006
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-7-12
收藏
得分:0 
但是你可运 行下那组数据,结果是不对的,
还有代码风格,请赐教
2008-07-17 00:06
快速回复:高手帮忙 求c++ 快速排序
数据加载中...
 
   



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

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