冒泡排序
/**
* 使用递归实现冒泡排序
*/
public int[] bubbleSort(int[] array, int lastIndex) {
if (lastIndex <= 0) {
// 排序完成
return array;
}
// 依次交换元素的位置
for (int i = 0; i < lastIndex; i++) {
int element1 = array[i];
int element2 = array[i + 1];
if (element1 > element2) {
// 交换两个元素的位置
array[i] = element2;
array[i + 1] = element1;
}
}
// 排序未完成,递归排序
return bubbleSort(array, lastIndex - 1);
}
使用示例
int[] array = {1, 521, 15, 45, 111, 96, 321, 3, 8, 9, 12};
int[] sortArray = bubbleSort(array, array.length - 1);
Log.i("Haoxueren", Arrays.toString(sortArray));