冒泡排序(Bubble Sort)
首先介绍一下“冒泡排序法”是什么:
顾名思义,冒泡嘛,就是气泡慢慢从水底浮上来。
而这里浮上来的不是气泡,而是“数”。
冒泡排序法就是依次比较两个数的大小,如果第一个数比第二个数小,那么位置不变;
如果第一个数比第二个数大,那么交换位置,即大的数放到后面。
之后第二个数与第三个数比较,第三个数与第四个数比较… …直到倒数第二个数和倒数第一个数比较。
那么,比较一轮下来,最后边的数一定是最大的数。
然后,针对于剩下的数字,重复上述步骤。
这样,当重复完成后,这排数列就按照从小到大的顺序排好了。
动图解释:
代码解释:
import java.util.Arrays; public static void main(String[] args) { int [] arr={100,3,6,5,78,9,7,55,0};//定义一个无序的数组 bubbleSort(arr);//主方法调用冒泡方法 } public static void bubbleSort(int[] arr){ //定义冒泡排序方法,传入参数是数组类型 int len=arr.length-1; //获得数组的长度,因为下标从零开始,所以此处减一 for (int i = 0; iarr[j+1]){ //如果当前值大于后面的 int temp=arr[j];//设置一个临时变量接受他 arr[j]=arr[j+1];//小的放前面 arr[j+1]=temp;//大的放后面 } } System.out.println(i+"轮排序后:" + Arrays.toString(arr)); //输出经过一轮排序后的结果,Arrays.toString(arr)是将数组字符串化 } System.out.println("最终排序后: " + Arrays.toString(arr)); //输出最终排序后的结果 } }
运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)