java排序算法之冒泡排序
生活随笔
收集整理的這篇文章主要介紹了
java排序算法之冒泡排序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
冒泡排序?qū)崿F(xiàn)代碼:
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;}}}}源碼分析:冒泡排序的思路是優(yōu)先把較大元素放到數(shù)組最后位置。程序開始運行時i=1,j=[0,arr.length-1],最內(nèi)層for循環(huán)從數(shù)組第一個位置開始,比較前兩個位置元素大小,如果更靠前的元素更大,則交換兩個元素位置,直到數(shù)組末尾,此時已經(jīng)把數(shù)組內(nèi)最大元素移動到數(shù)組末尾。由于數(shù)組最末位置已經(jīng)排序,第二次循環(huán)不需要再比較到最末位置,此時i=2,j=[0,arr.length-2],經(jīng)過循環(huán),將第二大元素排到數(shù)組倒數(shù)第二個位置。以此類推,直到完成最后兩個元素的排序。
冒泡排序的原理其實就是優(yōu)先對較大元素進(jìn)行排序,一般放到數(shù)組尾部,作為已排序部分,前面部分作為未排序部分,然后前部找出較大元素,直到只剩一個元素。
生成一個大小為10000的隨機(jī)數(shù)組測試:
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);}總結(jié)
以上是生活随笔為你收集整理的java排序算法之冒泡排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《深度学习入门》实现三层神经网络前向传播
- 下一篇: java获取数组最大最小值