冒泡排序基本思想核心思想是从头开始让相邻的两个元素进行比较,符合条件就交换位置,这样就把最大值或者最小值放到数组的最后面了;接着再从头开始两两比较交换,直到把最大值或者最小值放到数组的倒数第二位。(即不需要与最后一位数进行对比).....以此类推,直到排序完成。
简单理解:
每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 。
代码详解:
public class BubbleSort {
public static void main(String[] args){
//定义数组
int[] arr = {4,8,3,0,1,2,9,7,6,5};
System.out.print("排序前的数组为:");
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");}
for(int i = 0; i < arr.length-1; i++){
for(int j = 0; j < arr.length - 1 - i; j++) // 内循环是比较的次数N-i
{
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println();
System.out.print("排序后的数组为:");
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
代码运行结果: