• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            狂奔的蝸牛

            通過計算機成就人生

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              10 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
              1 //============================================================================
              2 // Name        : suanfa.cpp
              3 // Author      : dream
              4 // Version     :
              5 // Copyright   : powered by YeQiangWei
              6 // Description : Hello World in C++, Ansi-style
              7 //============================================================================
              8 
              9 #include <iostream>
             10 using namespace std;
             11 /*默認(rèn)都安升序排列*/
             12 class Algorithm {
             13 public:
             14     /*分治法*/
             15     void merge_sort(int* a, int p, int r);
             16     void merge(int* a, int p, int q, int r);
             17     /**選擇排序*/
             18     void select_sort(int* a, int length);
             19     /*插入排序*/
             20     void insert_sort(int* a, int length);
             21     /*冒泡排序*/
             22     void bubble_sort(int* a, int length);
             23 };
             24 void Algorithm::bubble_sort(int* a, int length) {
             25     for (int i = 1; i < length; i++) {
             26         for (int j = 0; j <= i; j++) {
             27             if (a[i] < a[j]) {
             28                 int key = a[j];
             29                 a[j] = a[i];
             30                 a[i] = key;
             31             }
             32         }
             33 
             34     }
             35 }
             36 void Algorithm::insert_sort(int* a, int length) {
             37     cout << length << endl;
             38     for (int i = 1; i < length; i++) {
             39         int j = i - 1;
             40         int key = a[i];
             41         while (j >= 0 && key < a[j]) {
             42             a[j + 1= a[j];
             43             j--;
             44         }
             45         a[j + 1= key;
             46     }
             47 }
             48 void Algorithm::merge(int* a, int p, int q, int r) {
             49     int n1 = q - p + 1;
             50     int n2 = r - q;
             51     int* L = new int[n1 + 1];
             52     int* R = new int[n2 + 1];
             53     for (int m = 0; m < n1; m++) {
             54         L[m] = a[p + m];
             55     }
             56     for (int n = 0; n < n2; n++) {
             57         R[n] = a[q + n + 1];
             58     }
             59     int i = 0;
             60     int j = 0;
             61     for (int k = p; k <= r; k++) {
             62         if (L[i] <= R[j]) {
             63             a[k] = L[i];
             64             i++;
             65         } else {
             66             a[k] = R[j];
             67             j++;
             68         }
             69     }
             70 }
             71 
             72 void Algorithm::merge_sort(int* a, int p, int r) {
             73 
             74     int q = 0;
             75     //cout << "這里其實還是執(zhí)行了的" << q << endl;
             76     if (p < r) {
             77         q = (p + r) / 2;
             78         merge_sort(a, p, q);
             79         merge_sort(a, q + 1, r);
             80         merge(a, p, q, r);
             81     }
             82 }
             83 
             84 void Algorithm::select_sort(int* a, int length) {
             85     if (NULL == a)
             86         return;
             87     cout << length << endl;
             88     for (int i = 0; i < length; i++) {
             89         for (int j = i; j < length; j++) {
             90             if (a[i] > a[j]) {
             91                 cout << "a[]=" << a[i] << endl;
             92                 int key = a[i];
             93                 a[i] = a[j];
             94                 a[j] = key;
             95             }
             96         }
             97     }
             98 }
             99 
            100 int main() {
            101     int a[] = { 35794821 };
            102     int length = sizeof(a) / sizeof(a[0]);
            103     Algorithm al;
            104     al.bubble_sort(a, length);
            105     for (size_t i = 0; i < (sizeof(a) / sizeof(a[0])); i++) {
            106         cout << a[i] << " ";
            107     }
            108     return 0;
            109 }
            110 
            111 
            112 

            posted on 2010-05-27 22:16 幽夢還鄉(xiāng) 閱讀(256) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            99精品国产99久久久久久97| 天天影视色香欲综合久久| 久久影院综合精品| 青草国产精品久久久久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 99久久国产综合精品网成人影院| 999久久久国产精品| 人妻无码αv中文字幕久久琪琪布| 久久久91精品国产一区二区三区 | 97久久精品无码一区二区| 狠狠精品久久久无码中文字幕| 久久笫一福利免费导航| 久久er热视频在这里精品| 欧美精品乱码99久久蜜桃| 88久久精品无码一区二区毛片| 无码人妻少妇久久中文字幕蜜桃 | 国产精品久久网| 久久人人爽人人人人爽AV| 狠狠人妻久久久久久综合| 91精品国产9l久久久久| 18岁日韩内射颜射午夜久久成人| 九九久久精品国产| A级毛片无码久久精品免费| 精品国产一区二区三区久久久狼| 久久亚洲熟女cc98cm| 日韩欧美亚洲国产精品字幕久久久| 久久青草国产手机看片福利盒子| 人妻精品久久无码区| 国产精品久久新婚兰兰| 欧美日韩精品久久久久| 精品无码久久久久久久动漫| 国产亚洲成人久久| 国产激情久久久久影院小草 | 精品综合久久久久久888蜜芽| 老男人久久青草av高清| 久久久久青草线蕉综合超碰| 久久综合九色综合欧美就去吻| 久久嫩草影院免费看夜色| 久久毛片一区二区| 午夜人妻久久久久久久久| 91精品国产9l久久久久|