posts - 18,  comments - 1,  trackbacks - 0

          #include<iostream>//一個快速排序的例子

          using? namespace std;

          void swap(int &a,int &b){
          ???? 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 *p=new int[n];
          ???? int*lp=p;
          ???? int*rp=p+n-1;
          ???? int*pt=a+1;
          ???? int pivot=*a;
          ???? for(int i=1;i<n;i++)//把數據 考到臨時數組
          ???????????? {
          ????????????? if(*pt>pivot)
          ??????????????????? *rp--=*pt++;
          ?????????????? else
          ??????????????????? *lp++=*pt++;??????????????????
          ???????????? }
          ?? *lp=pivot;
          ??? pt=a;
          ??? lp=p;
          ??? for(int i=0;i<n;i++)//把數據考回來
          ?????????? *pt++=*lp++;
          ? delete[] p;
          ? int left=rp-p;//計算左邊部分的元素個數
          ? quick(a,left);
          ?quick(a+left+1,n-left-1);?
          }

          ?

          int main(){
          ??
          ??? int a[11]={5,456,3219,416,4,64,31,987,1987,98731,9841};
          ?quick(a,11);
          ?
          ?for(int i=0;i<11;i++)
          ???????? cout<<a[i]<<' ';
          ???????? cout<<endl;
          ???????? char t;
          ???????? cin>>t;
          ???????? return 0;
          ??????
          ??????
          ??? }

          posted on 2007-01-24 22:16 sunny 閱讀(877) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          相冊

          收藏夾

          朋友

          搜索

          •  

          最新評論

          評論排行榜

          主站蜘蛛池模板: 绥化市| 临安市| 封丘县| 巧家县| 得荣县| 文安县| 沐川县| 平定县| 普陀区| 平舆县| 化州市| 滁州市| 新丰县| 武威市| 屯门区| 拜泉县| 和顺县| 堆龙德庆县| 东光县| 吕梁市| 女性| 兰州市| 贡觉县| 成武县| 鸡东县| 石渠县| 广东省| 冷水江市| 张家港市| 鄂伦春自治旗| 沭阳县| 比如县| 乌审旗| 崇左市| 静海县| 河南省| 深圳市| 遂宁市| 吉首市| 鹿邑县| 会泽县|