posts - 18,  comments - 1,  trackbacks - 0
#include<iostream>//快速排序不新建临时数组
using namespace std;
void swap(int &a,int &b){
    if(&a==&b)
         return;   
     a=a^b;
     b=a^b;
     a=a^b;
     }
void quick(int *a,int n)
{
     if(n<=1)
         return ;
     swap(*a,a[n>>1]);
     int*lp=a+1;
     int*rp=a+n-1;
     while(rp-lp>=0)
     {
      if(*lp>*a)
            {
             if(*rp<*a){             
               swap(*lp++,*rp--);
               }
             else
               --rp;
            }
      else
         ++lp;           
      }
  swap(*a,*rp);   
             
    int left=rp-a;
    quick(a,left);
    quick(a+left+1,n-left-1) ;  
 }
int main(){
    int a[5]={0 ,5, 9, 8, 7 };
    int b[10]={2,5,9,6,3,1,4,7,1 ,5 };
    quick(b,10);
    for(int i=0;i<10;i++)
            cout<<b[i]<<' ';
            cout<<endl;
    char ch;
    cin>>ch;
    return 0;
    }
posted on 2007-01-25 22:51 sunny 阅读(236) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(1)

随笔分类

随笔档案

相册

收藏夹

朋友

搜索

  •  

最新评论

评论排行榜