排序算法 -- 冒泡
排序算法 -- 目录
冒泡排序(Bubble Sort) — O(n²)
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序算法的流程如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。、
Class :
package limeMianShi; import java.util.Arrays; public class Bubble_Sort { public static void main(String[] args) { int[] intArr = new int[10]; for(int i = 0;i < intArr.length;i++){ intArr[i] = (int) (Math.random()*10); } System.out.println(Arrays.toString(intArr)); int times = intArr.length - 1; //总共需要times次才能完成排序 for(int i = times;i > 0;i--){ for(int j = 1;j <= i;j++){ //第i次排序需要i次比较相邻的数据大小 if(intArr[j-1] > intArr[j]){ int temp = intArr[j-1];intArr[j-1] = intArr[j];intArr[j] = temp; } } } System.out.println(Arrays.toString(intArr)); } }
啦啦啦