冒泡排序
运行过程:
-
比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置
-
每一次比较,都会产生出一个最大或最小的数字
-
下一轮则可以少一次排序
-
依次循环,知道结束
package com.company; import java.util.Arrays; public class demo03 { public static void main(String[] args) { int[] array={1,3,8,0,5,9,7,4}; int[] sort=sort(array); System.out.println(Arrays.toString(sort)); } public static int[] sort(int[] a){ int temp=0; for(int i=1;i<a.length;i++){ boolean flag=false; for(int j=0;j<=a.length-1-i;j++){ if(a[j]>a[j+1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; flag = true; } } if(flag==false){ break; } } return a; } }
补充:
-
这个算法的时间复杂度是:n^2