冒泡排序
-
直接上代码(面试笔试题,一定要会默写)
public static void main(String[] args) { int[] arrays={12,52,45,65,95,12,32}; int[] sort = sort(arrays); System.out.println(Arrays.toString(sort)); } //冒泡排序 //1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 //2.每一个比较,都会产生出一个最大的,或者最小的 //3.下一轮可以少一次排序 //4.依次循环,直到结果 public static int[] sort(int[] array) { //临时变量 int temp=0; //外层循环,判断我们这个要走多少次 for (int i = 0; i < array.length - 1; i++) { boolean flag=false; //内层循环,比较判断两个数,如果第一个数比第二个数大,则交换位置 for (int j = 0; j < array.length - 1 - i; j++) { if (array[j+1]<array[j]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; flag=true; } } if (flag==false){ break; } } return array; }