国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

從零開始學算法——01

2019-11-14 11:02:25
字體:
來源:轉載
供稿:網友

假期在家頹廢了好久,終于下決心好好學算法了。。。

用的書 是中文版的 《算法導論》還有劉汝佳的《算法競賽入門經典》

OK  開始第一天的學習

插入排序

對于少量的元素,它是一個有效的算法

偽代碼

INSERT-INTO(A)  for j = 2 to j = A.length    key = A[j]    i = j - 1    while i >0 and A[i] > key        A[i+1] = a[i]        i = i -1    A[i+1] = key類似與我們打牌時,將手中的牌按大小排好。

下標 j 指出正被插入到手中的“當前牌“

下面 用一組數據來表示插入排序

#include<iostream>using namespace std;int main(){    int a[] = {5,1,3,4,2,7,9,8,6};    int i,j;    for(j=1;j<9;j++){        int key = a[j];        i=j-1;        while(i>=0&&a[i]>key){            a[i+1] = a[i];            i-=1;        }        a[i+1] = key;    }    for(int i=0;i<9;i++){        cout<<a[i]<<" ";    }    return 0;}下面為多組數據

#include<iostream>using namespace std;const int MAXX = 999;void insert_into(int a[],int n);int main(){    int n;    int a[MAXX];    while(cin>>n){        for(int i=0;i<n;i++){            cin>>a[i];        }        insert_into(a,n);        for(int i=0;i<n;i++){            cout<<a[i]<<" ";        }        cout<<endl;    }    return 0;}void insert_into(int a[],int n){    int i,j;    for(j=1;j<n;j++){        int key = a[j];        i = j-1;        while(i>=0&&a[i]>key){            a[i+1] = a[i];            i = i-1;        }        a[i+1] = key;    }}沒啥區別?。。。?!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新源县| 陕西省| 禹州市| 枣阳市| 西平县| 北流市| 耿马| 镶黄旗| 曲靖市| 张家口市| 新竹市| 莲花县| 会泽县| 始兴县| 临潭县| 元阳县| 潞西市| 樟树市| 清水河县| 西充县| 黑山县| 蒲江县| 丹东市| 呼伦贝尔市| 巴林左旗| 黔江区| 巴中市| 崇仁县| 旬阳县| 乌什县| 景泰县| 巴楚县| 嘉黎县| 禹州市| 哈巴河县| 大竹县| 陵川县| 永丰县| 永丰县| 孙吴县| 高尔夫|