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

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

排序算法

2019-11-06 09:52:28
字體:
來源:轉載
供稿:網友

一、冒泡排序:

1.從列表的第一個數字到倒數第二個數字,逐個檢查:若某一個數字大于他的下一位,則將它與它的下一位交換。

2、重復步驟1,直至再也不能交換。

我的理解是所謂冒泡嘛就是將大的數字往后冒,將數組中相鄰兩個元素一一比較之后大的放后邊~

算法代碼:

for(int i=0; i<arr.length-1; i++){for(int j=0; j<arr.length-1-i; j++){if(arr[j]>arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}

}

}

二、選擇排序:

1、設數組內存放了n個待排數字,數組下標從1開始,到n結束。

2、初始化i=1

3、從數組的第i個元素開始到第n個元素,尋找最小的元素。

4、將上一步找到的最小元素和第i位元素交換。

5、i++,直到i=n-1算法結束,否則回到第3步

我的理解是將當前數字與之后的每一個數字進行比較,找出最小的與之替換~

算法代碼:

for(int i =0;i<arr.length-1;i++){

for(int j = i;j<arr.length-i-1;j++){

if(arr[j+1]<arr[i]){

int temp = arr[j+1];

arr[i] = temp;

arr[j+1] = arr[i];

}

}

}

三、插入排序

1、首先新建一個空列表,用于保存已排序的有序數列(我們稱之為"有序列表")。

2、從原數列中取出一個數,將其插入"有序列表"中,使其仍舊保持有序狀態。

3、重復2號步驟,直至原數列為空。

我的理解是插入排序就是每一步都將一個待排數據按其大小插入到已經排序的數據中的適當位置,直到全部插入完畢。

算法代碼:

for(int i =0;i<arr.length-1;i++){

for(int j = i;j>0;j--){

if(arr[j+1]<arr[j]){

int temp = arr[j+1];

arr[j] = temp;

arr[j+1] = temp;

}

}

}

這就是我總結的集中比較常用的排序算法啦~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延安市| 红桥区| 红原县| 莫力| 湟中县| 佛山市| 红桥区| 都昌县| 平凉市| 河北区| 额尔古纳市| 凤冈县| 茂名市| 南雄市| 绥滨县| 柯坪县| 沾化县| 格尔木市| 夏河县| 揭东县| 黄浦区| 电白县| 翁牛特旗| 柳河县| 中宁县| 正定县| 永胜县| 长治县| 定襄县| 汕头市| 白玉县| 马鞍山市| 新泰市| 瑞昌市| 咸阳市| 安义县| 偃师市| 蒙自县| 双流县| 辉县市| 长葛市|