• <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++博客 首頁 新隨筆 聯系 聚合 管理
              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 /*默認都安升序排列*/
             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 << "這里其實還是執行了的" << 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 幽夢還鄉 閱讀(256) 評論(0)  編輯 收藏 引用
            久久最近最新中文字幕大全 | 午夜天堂精品久久久久| 久久综合久久性久99毛片| 亚洲国产成人久久精品99| 国产精品久久久久a影院| 狠狠色婷婷久久一区二区三区| 国产欧美久久久精品| 久久久中文字幕日本| 久久久久亚洲Av无码专| 99久久99久久精品国产| 久久亚洲AV无码精品色午夜麻豆| 99久久免费国产特黄| 欧美亚洲国产精品久久久久| 久久久久免费精品国产| 久久无码AV一区二区三区| 久久精品男人影院| 久久久久高潮毛片免费全部播放| 精品久久久久久国产免费了| 东京热TOKYO综合久久精品| 香蕉久久夜色精品国产尤物| 国产999精品久久久久久| 久久久久亚洲Av无码专| 亚洲狠狠婷婷综合久久蜜芽| 久久国产成人精品国产成人亚洲| 久久99国产综合精品女同| 国产欧美久久久精品影院| 欧美麻豆久久久久久中文| 久久香蕉国产线看观看乱码| 久久久久高潮毛片免费全部播放 | 99久久做夜夜爱天天做精品| 日本一区精品久久久久影院| 久久人人爽人人爽人人AV| 久久精品久久久久观看99水蜜桃| 午夜精品久久久内射近拍高清| 99久久亚洲综合精品网站| 日本道色综合久久影院| 久久精品视频网| 国产成人精品久久亚洲高清不卡| 久久精品国产69国产精品亚洲| 国产午夜久久影院| 亚洲一区中文字幕久久|