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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java排序算法之冒泡排序

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

冒泡排序實現代碼:

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

源碼分析:冒泡排序的思路是優先把較大元素放到數組最后位置。程序開始運行時i=1,j=[0,arr.length-1],最內層for循環從數組第一個位置開始,比較前兩個位置元素大小,如果更靠前的元素更大,則交換兩個元素位置,直到數組末尾,此時已經把數組內最大元素移動到數組末尾。由于數組最末位置已經排序,第二次循環不需要再比較到最末位置,此時i=2,j=[0,arr.length-2],經過循環,將第二大元素排到數組倒數第二個位置。以此類推,直到完成最后兩個元素的排序。

冒泡排序的原理其實就是優先對較大元素進行排序,一般放到數組尾部,作為已排序部分,前面部分作為未排序部分,然后前部找出較大元素,直到只剩一個元素。

生成一個大小為10000的隨機數組測試:

public static void main(String[] args) {int length = 10000;int[] arr = new int[length];Random random = new Random();for (int i = 0; i < length; i++) {arr[i] = random.nextInt(length);}long time = System.currentTimeMillis();sort(arr);System.out.println(System.currentTimeMillis() - time);}

總結

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

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