java排序算法之冒泡排序
生活随笔
收集整理的這篇文章主要介紹了
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排序算法之冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《深度学习入门》实现三层神经网络前向传播
- 下一篇: java获取数组最大最小值