2022.8.12 java 冒泡排序
八大排序算法之一,冒泡排序最出名。
public static void main(String[] args) { int[] a = {0,1,2,3,4,55,66,77,88};//创建一个数组 int[] c = c(a);//冒泡排序 System.out.println(Arrays.toString(c)); } /* 冒泡排序,就是相邻两个元素进行比较、交换; 进行两层循环,外层为交换次数,里层进行元素比较; 1.比较数组相邻两个数,若第一个数比第二个数大,则交换他们的位置。 交换两个元素需要用到其他变量 2.每次比较,都会产生一个最大值、最小值。 3.下一轮的比较可以减少一次,因为比较都把数组中的最大或最小值提到了前方。 4.一直循环。 */ //自己试着从大到小把他排一下序 public static int[] c(int[] a){ int temp = 0; //判断要走多少轮 for (int i = 0; i < a.length - 1; i++) { boolean flag = false;//若此数组已排序,则直接输出数组 //比较两个数,在进行交换 for (int j = 0; j < a.length - 1 - i; j++) { if (a[j + 1] < a[j]){ temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; flag = true; } } if (flag == false){ break; } } return a; }