冒泡排序的原理
在数组中两两相比较,如果前者比后者大,则交换两者顺序,
依次比较完以后,最大值会出现在最大索引值处
规律:
两两比较,大的往后放
第一次比较,倒数第0个不需要再次比较
第二次比较,倒数第1个不需要再次比较
第三次比较,倒数第2个不需要再次比较
....
第n次比较,倒数第3个不需要再次比较
import java.util.Scanner;
public class ArrayDemo02 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0;i < 5;i++){
System.out.println("请输入第" + (i+1) + "个数字:");
arr[i] = sc.nextInt();
}
System.out.println("排序前的数组为:");
printArray(arr);
bubbleSort(arr);
System.out.println("排序后的数组为:");
printArray(arr);
}
public static void bubbleSort(int[] array){
for(int x = 0;x < array.length-1;x++){
for (int y = 0;y < array.length-1-x;y++) {
if (array[y] > array[y + 1]) {
int temp = array[y];
array[y] = array[y + 1];
array[y + 1] = temp;
}
}
}
}
public static void printArray(int[] array){
System.out.print("[");
for(int i = 0;i < array.length;i++){
if(i == array.length-1){
System.out.println(array[i] + "]");
}else {
System.out.print(array[i] + ", ");
}
}
}
}
![请添加图片描述](https://img-blog.csdnimg.cn/e255251970024a8e8f96b6ee61e10c4e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Ly05Zyo5qKm6YeM,size_20,color_FFFFFF,t_70,g_se,x_16)