冒泡排序的思想是从前往后找最大值,然后将最大值放到最后,给人的感觉就像是气泡从水底升到水面的时候一点点膨胀变大的样子差不多,所以该排序算法的名字为“冒泡排序”;虽然核心依然是找最大值,但是找最大值的方法却有不同,如果只是普通的找最大值,只需要定义一个MaxValue保存第一个值,然后依次向后找即可;但是在冒泡排序中,找最大值的方法是"交换",相邻两个数进行比较,如果前者大于后者,则进行交换
import java.util.Scanner; public class BubbleSort{ public static void main(String args[]){ Scanner scanner=new Scanner(System.in); int total=scanner.nextInt(); int[] array=new int[1024]; for(int i=0;i<total;i++){ array[i]=scanner.nextInt(); } bubbleSort(array,total); output(array,total); } public static void output(int[] array,int total){ for(int i=0;i<total;i++){ System.out.print(array[i]+" "); } System.out.println(); } public static void bubbleSort(int[] array,int total){ int temp; for(int i=total-1;i>0;i--){ for(int j=0;j<i;j++){ if(array[j]>array[j+1]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } } }
测试数据:
输入:
10
1 4 7 8 5 2 3 6 9 0
输出:
0 1 2 3 4 5 6 7 8 9
10
1 4 7 8 5 2 3 6 9 0
输出:
0 1 2 3 4 5 6 7 8 9