+ -
当前位置:首页 → 问答吧 → 高手来看下,帮忙“快速排序”

高手来看下,帮忙“快速排序”

时间:2011-12-03

来源:互联网

#include<iostream>
using namespace std;
void Quick_Sort(int A[],int low ,int high)
{
  int temp,t=A[low];
  int l=low,h=high;
if(l>=h) return ;
  while(l<h)
{
  while(A[l]<t)l++;
  while(A[h]>=t)h--;
  if(h>l)
{
temp=A[l];
A[l]=A[h];
A[h]=temp;
}
}
Quick_Sort(A,low,l-1);
Quick_Sort(A,l+1,high);
}
int main()
{
int a[5],i ;
for(i=0;i<5;i++)
cin>>a[i];
Quick_Sort(a,0,4);
for(i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}

帮帮忙怎么会运行不出来呢!最好帮我改下,把代码给我,
还有,如果有其他的方法也可以发给我,谢谢大哥,大姐了。。。

作者: yiliangloveyou1270   发布时间: 2011-12-03

while(l<h)
{
  while(A[l]<t)l++;
  while(A[h]>=t)h--;
  if(h>l)
{
temp=A[l];
A[l]=A[h];
A[h]=temp;
}
}


改成while(l<h)
{
  while(l<h&&A[h]>=t) 
  h--;
  A[l++]=A[h];
  while(l<h&&A[l]<=t) 
  l++;
  A[h--]=A[l];
}
A[l]=t;

作者: lockie1988   发布时间: 2011-12-03

作者: zichen0422   发布时间: 2011-12-03

有时间的话 就自己学着调试嘛

作者: peng_weida   发布时间: 2011-12-03

C/C++ code

#include <iostream>  
using namespace std;  
template<typename T> void Swap(T& a, T& b)  
{  
    T c = a;  
    a = b;  
    b = c;  
}  
template<typename T> void QuickSort(T* arr, int left, int right)  
{  
    int l, r;  
    T v;  
    l = left;  
    r = right;  
    v = arr[(left + right)/2];  
      
    while(l <= r)  
    {  
        while (arr[l] < v)  
            ++l;  
        while (arr[r] > v)  
            --r;  
        if(l <= r)  
        {  
            Swap<T>(arr[l], arr[r]);  
            ++l;  
            --r;  
        }  
    }  
      
    if(l == r)  
        l++;  
    if(left < r)  
        QuickSort<T>(arr, left, r);  
    if(l < right)  
        QuickSort<T>(arr, l, right);  
}  
int main()    
{       
    int i;    
    int a[]={1,4,2,66,22,23,5,6,8,7,99,54};    
    QuickSort<int>(a, 0, 11);    
    for(i=0;i<12;i++)    
        cout<<a[i]<<endl;    
    
    double b[]={5.1,4.5,2.2,66.5,22.6,23,5,6,18.1,7,99,54};    
    QuickSort<double>(b, 0, 11);    
    for(i=0;i<12;i++)    
        cout<<b[i]<<endl;    
    
    return 0;    
}  

作者: icechenbing   发布时间: 2011-12-03