常用程式碼片段(二)冒泡排序演算法Java實現,演算法java
常用程式碼片段(二)冒泡排序演算法Java實現
冒泡排序演算法的基本思想:
假設數組中存在5個元素,將2 3 4 5號元素依次與1號元素比較,若小於1號元素,則互換位置;
將3 4 5號元素依次與2號元素比較,若小於2號元素,則互換位置。。。以此類推
例如數組{5,4,3,2,1}
將2號元素與1號元素比較,小於成立,互換,結果 4 5 3 2 1
將3號元素與1號元素比較,小於成立,互換,結果 3 5 4 2 1
將4號元素與1號元素比較,小於成立,互換,結果 2 5 4 3 1
將5號元素與1號元素比較,小於成立,互換,結果 1 5 4 3 2
將3號元素與2號元素比較,小於成立,互換,結果 1 4 5 3 2
將4號元素與2號元素比較,小於成立,互換,結果 1 3 5 4 2
將5號元素與2號元素比較,小於成立,互換,結果 1 2 5 4 3
將4號元素與3號元素比較,小於成立,互換,結果 1 2 4 5 3
將5號元素與3號元素比較,小於成立,互換,結果 1 2 3 5 4
將5號元素與4號元素比較,小於成立,互換,結果 1 2 3 4 5
代碼:
//冒泡排序public class MaoPao { public static void main(String[] args) { // TODO Auto-generated method stub // 初始化一個Int類型數組 // 時間複雜度2/n(n-1),n為數組長度 int[] array = { 5, 4, 3, 2, 1 }; int temp = 0; for (int j = 0; j < array.length - 1; j++) { for (int i = j; i < array.length; i++) { if (array[i] <= array[j]) { temp = array[j]; array[j] = array[i]; array[i] = temp; } } } for (int k = 0; k < array.length; k++) { System.out.print(array[k]); } }}
時間複雜度:2/n*(n-1),其中n為數組長度
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。