冒泡排序思想:
对于一个待排数组,先将0位置的数据和1位置的数据进行比较,大的放在1位置,再将1位置的数据与2位置的数据进行比较,大的放在2位置,以此类推,遍历一次数组之后,最大的数据就放到了最末尾的位置,再对剩余的数组重复上述过程,直到整个数组排好
Java代码实现:
public class bubbleSort {
public static void bubblesort(int[] arr){
if(arr == null || arr.length < 2){
System.out.println("此数组无法排序!");
return;
}
//确定当前一次冒泡的范围
for(int i = (arr.length - 1); i >= 1; i--){
//比较j位置元素与j+1位置元素的大小,如果j位置元素更大,交换j和j+1位置的元素
for(int j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr, j);
}
}
}
}
//将数组中的指定元素与它的后一位元素交换
public static void swap(int[] arr, int a){
int temp = arr[a];
arr[a] = arr[a+1];
arr[a+1] = temp;
}
public static void main(String[] args){
int[] arr = {3,1,5,2,7,4,6,3};
bubblesort(arr);
System.out.println(Arrays.toString(arr));
}
}
以上内容为个人学习总结,如有错误,欢迎指正。