日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

冒泡排序c java c,冒泡排序,c语言冒泡排序法代码

發布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 冒泡排序c java c,冒泡排序,c语言冒泡排序法代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

冒泡排序,c語言冒泡排序法代碼

冒泡排序

冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。

它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。

這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。

中文名

外文名

時間復雜度

實質

冒泡排序

Bubble Sort

O(n2)

把小(大)的元素往前(后)調

/**

* 冒泡排序

*/

// 定義數組

int[] array = new int[]{5, 3, 1, 6, 2, 19, 7, 88, 32};

// 定義并初始化一個int類型的臨時變量

int temporary = 0;

// 外層循環控制數組排序共需要循環多少次(每次相鄰的兩個元素進行比較,只需要比較數組總元素個數-1次)

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

// 內層循環控制第i次排序需比較多少次

//(例如:第一次排序后會確定數組中最大的一個數,且不再參與比較。第二次再確定一個除最大數以外較大的數。以此類推)

// 所以每次循環(數組的長度-i-1)次數即可。

// 不可以使用(數組的長度-j-1),會導致循環提前結束而不計算數組中剩余元素的比較

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

// 相鄰的兩個元素進行比較,將較大的元素賦值給臨時變量,從而實現換位操作

if (array[j] > array[j + 1]) {

temporary = array[j];

array[j] = array[j + 1];

array[j + 1] = temporary;

}

}

}

// 遍歷排序后數組中的元素

for (int k = 0; k < array.length; k++) {

System.out.println(array[k]);

}

}

}

控制臺輸出:

相關文章暫無相關文章

總結

以上是生活随笔為你收集整理的冒泡排序c java c,冒泡排序,c语言冒泡排序法代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。