从前往后排123456789101112131415161718192021222324252627282930val array = mutableListOf(1,4,5,6,72,12,6,78)bubbleSort(array) private fun bubbleSort(array:IntArray){ //不足2个元素,无需排序 if (array.size < 2){ return } var i = 0 while (i<array.size){ //每循环一次,i位是排好的 var j = i+1 while (j< array.size){ //把array[i] > array[j] 换成 "<",即可实现由大到小排序 if (array[i] > array[j]){ val tmp = array[i] array[i] = array[j] array[j] = tmp } j++ } i++ } return } 从后往前排123456789101112131415161718fun maopaoSort(array:IntArray){ if (array.size < 2){ return } for (i in array.indices){ var j = 0 while (j < array.size - i -1){ if(array[j] > array[j+1]){ val tmp = array[j+1] array[j+1] = array[j] array[j] = tmp } j++ } }} ## dart实现 123456789101112bubbleSort(List<int> list) { for (int i = 0; i >= list.length; i++) { for (int j = list.length - 1; j >= i+1; j--) { if(list[j] > list[j-1]){ int tmp = list[j]; list[j] = list[j-1]; list[j-1] = tmp; } } } } ← Previous post Next post → Tags 算法