小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

逗比講算法:什么是冒泡排序?

 長沙7喜 2019-08-20

通過上邊的圖
大家也可以很清楚看到了
準(zhǔn)備要做大事情了!

死不死上邊紅黑相間似曾相似?
看不懂的可谷歌翻譯一下
可見一般???!
正事預(yù)警!

本文將在此公眾號上通過一個個
鮮活生動的情景故事和漫畫
講解算法知識和逗比故事

大約每周一篇
好了!下面介紹一下漫畫人物
阿廣的老板
(大熊貓飾)
阿廣
(蘑菇頭飾)

從夢中驚醒
看到老板的面孔~
瞬間清醒了許多!回答道!
初始狀態(tài)
第一輪遍歷

第二輪遍歷
第三輪遍歷

第四輪遍歷
第五輪遍歷
不用多講解
只要智商正常
多看幾遍動畫
應(yīng)該問題不大!了?
下面剖析一下代碼
public void bubbleSort(int[] list) {
int temp = 0; // 用來交換的臨時數(shù)
// 要遍歷的次數(shù)
for (int i = 0; i < list.length - 1; i++) {
// 從后向前依次的比較相鄰兩個數(shù)的大小,遍歷一次后,把數(shù)組中第i小的數(shù)放在第i個位置上
for (int j = list.length - 1; j > i; j--) {
// 比較相鄰的元素,如果前面的數(shù)大于后面的數(shù),則交換
if (list[j - 1] > list[j]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
}
}
System.out.format('第 %d 趟: ', i);
printAll(list);
}
}
對冒泡排序常見的改進方法是加入標(biāo)志性變量exchange,用于標(biāo)志某一趟排序過程中是否有數(shù)據(jù)交換。
如果進行某一趟排序時并沒有進行數(shù)據(jù)交換,則說明所有數(shù)據(jù)已經(jīng)有序,可立即結(jié)束排序,避免不必要的比較過程。

改進代碼如下:
// 對 bubbleSort 的優(yōu)化算法
public void bubbleSort_2(int[] list) {
int temp = 0; // 用來交換的臨時數(shù)
boolean bChange = false; // 交換標(biāo)志
// 要遍歷的次數(shù)
for (int i = 0; i < list.length - 1; i++) {
bChange = false;
// 從后向前依次的比較相鄰兩個數(shù)的大小,遍歷一次后,把數(shù)組中第i小的數(shù)放在第i個位置上
for (int j = list.length - 1; j > i; j--) {
// 比較相鄰的元素,如果前面的數(shù)大于后面的數(shù),則交換
if (list[j - 1] > list[j]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
bChange = true;
}
}
// 如果標(biāo)志為false,說明本輪遍歷沒有交換,已經(jīng)是有序數(shù)列,可以結(jié)束排序
if (false == bChange)
break;
System.out.format('第 %d 趟: ', i);
printAll(list);
}
}

(雙擊點看查看大圖)

————

編輯 ∑Gemini

 來源:視學(xué)算法

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多