冒泡排序的两种实现方法(Java) 博客分类: 算法与数据结构 冒泡排序时间复杂度空间复杂度
程序员文章站
2024-03-08 14:07:22
...
冒泡排序的两种Java实现方法。
方法一:
public void bubbleSort(int[] array) { int length = array.length - 1; for(int i = length; i > 0; i--) { for(int j = 0; j < i; j++) { if(array[j] > array[j+1]) { swap(array, j, j+1); } } } } private void swap(int[] array, int aIndex, int bIndex) { int temp = array[aIndex]; array[aIndex] = array[bIndex]; array[bIndex] = temp; }
方法二:
public void bubbleSort(int[] array) { int length = array.length - 1; for(int i = 0; i < length; i++) { for(int j = i + 1; j <= length; j++) { if(array[i] > array[j]) { swap(array, i, j); } } } } private void swap(int[] array, int aIndex, int bIndex) { int temp = array[aIndex]; array[aIndex] = array[bIndex]; array[bIndex] = temp; }
冒泡排序的时间复杂度是O(n^2),空间复杂度是O(1)。