<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      pBendan

      導航

      算法-QuickSort

        1 #include <stdlib.h>
        2 #include <iostream>
        3 #include <vector>
        4 
        5 using namespace std;
        6 
        7 template <class T>
        8 void print_array(const vector<T> &array)
        9 {
       10     for ( unsigned int i = 1; i < array.size() + 1; ++i )
       11     {
       12         cout<<array[i-1]<<" ";
       13         if ( array[i - 1] < 10 )
       14             cout<<" ";
       15         if ( i % 10 == 0 )
       16             cout<<endl;
       17     }
       18 }
       19 
       20 template <class T>
       21 void shuffling(vector<T> &array)
       22 {
       23     int n = array.size();
       24     for ( int i = 0; i < n; ++ i )
       25     {        
       26         int r = i == 0 ? 0 : rand() % i;
       27         T temp = array[i];
       28         array[i] = array[r];
       29         array[r] = temp;
       30     }
       31 
       32     return;
       33 }
       34 
       35 template <class T>
       36 unsigned int partition(vector<T> &array, unsigned int lo, int unsigned hi)
       37 {
       38     if ( lo == hi ) return lo;
       39 
       40     unsigned int i = lo;
       41     unsigned int j = hi;
       42     T partition_val = array[lo];
       43 
       44     while ( i < j )
       45     {
       46         while ( array[i] <= partition_val )
       47         {
       48             if ( i < hi ) ++i;
       49             else break;
       50         }
       51 
       52         while ( array[j] > partition_val )
       53         {
       54             if ( j > lo ) --j;
       55             else break;
       56         }
       57 
       58         if ( i < j )
       59         {
       60             T temp = array[i];
       61             array[i] = array[j];
       62             array[j] = temp;
       63         }
       64 
       65     }
       66 
       67     array[lo] = array[j];
       68     array[j] = partition_val;
       69 
       70     return j;
       71 }
       72 
       73 template <class T>
       74 void quick_sort(vector<T> &array, unsigned int  lo, unsigned int  hi)
       75 {
       76     if ( lo >= hi ) return;
       77     int partition_pos = partition(array, lo, hi);
       78     quick_sort(array, lo, partition_pos);
       79     quick_sort(array, partition_pos + 1, hi);
       80 
       81     return;
       82 }
       83 
       84 int main()
       85 {
       86     vector<int> array;
       87     for ( int i = 0; i < 20; ++i )
       88         array.push_back(i);
       89 
       90     cout<<"shuffling the array..."<<endl;
       91     shuffling(array);
       92 
       93     cout<<"the shuffled array: "<<endl;
       94     print_array(array);
       95 
       96     cout<<"quick sort the array: "<<endl;
       97     quick_sort(array, 0, array.size() - 1);
       98 
       99     cout<<"array after quick sorted: "<<endl;
      100     print_array(array);
      101 
      102     return 0;
      103 }

      輸出結果:

      posted on 2015-08-22 12:40  pBendan  閱讀(136)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 欧美牲交a欧美牲交aⅴ图片| 亚洲色欲或者高潮影院| 亚洲2022国产成人精品无码区| 日本视频一两二两三区| 国产精品免费无遮挡无码永久视频| 国产精品一二三区久久狼| 国产成人精品国产成人亚洲| 无码专区人妻系列日韩精品少妇| 亚洲精品不卡无码福利在线观看| 色吊丝中文字幕在线观看| 亚洲AV永久中文无码精品综合| 军人粗大的内捧猛烈进出视频| 治多县| 精品偷自拍另类精品在线| 亚洲va久久久噜噜噜久久狠狠| 精品久久久久久无码中文野结衣| 综合久久婷婷综合久久| A毛片终身免费观看网站| 久久精品国产亚洲αv忘忧草| 欧美视频网站www色| 亚洲欧洲一区二区免费| 日韩av天堂综合网久久| 真实国产乱啪福利露脸| 国产一区精品综亚洲av| 国产精品自在线拍国产手机版 | 高清性欧美暴力猛交| 热久久99精品这里有精品| 国产精品色一区二区三区| 欧洲性开放老太大| 亚洲一区在线观看青青蜜臀| 亚洲国产另类久久久精品| 国产欧美日韩亚洲一区二区三区| 宅男噜噜噜66在线观看| 国产成人无码区免费内射一片色欲 | 精品人妻午夜一区二区三区四区| 亚洲乱码一区二区三区视色| 国内精品自线在拍| 亚洲精品韩国一区二区| 久久亚洲精品亚洲人av| 日本欧美大码a在线观看| 熟女精品视频一区二区三区|