冒泡排序(面试题)
冒泡排序就是将数组内的按大小顺序排序
1.比较数组中的所有元素,每次比较两个相邻的数,数大就向后,数小向前。
2.每次比较,就会排出一个最大,或者最小的数。第二次排序时就可以少一次排序
3.依次循环,直到结束!
冒泡代码就是嵌套的两层循环,外层是循环次数,里面是每一次需循环多少数,需要设置一个变量用来作为零时储存器。相当于调换a与b两个数,要创建一个零时储存器c,将a存入c,把b放入a的位置,再从c内拿出a放在b的位置。
package weiwei.Array01;
import java.util.Arrays;
public class Demo7 {//冒泡排序
public static void main(String[] args) {
int[] a = {21,54,94,31,445,8,15,64,18,97};//任意数组
int[] sort = sort(a);//使用sort的方法转换数组a
System.out.println(Arrays.toString(sort));//用toString工具类输出sort方法转换后的数组
}
//冒泡排序
public static int[] sort(int[]array){//创建一个数组方法
int a = 0;//作为转换元素顺序的一个零时变量
for (int i = 0; i < array.length-1; i++) {//声明大循环次数
//小循环循环次数,每次小循环结束都会排列出一个最大或最小数,所以循环一次就少循环一次。因此—i
for (int j = 0; j < array.length-1-i; j++) {
if (array[j] > array[j+1]) {//如果第一个数大于第二个数
a = array[j];//将第一个数赋值给零时变量a
array[j]=array[j+1];//将第二个数赋值给第一个数
array[j+1] = a;//最后把之前第一个数赋值给a的值用a赋给第二个数
}
}
}
return array;//把输入到方法的数组经过以上流程后,输出出去
}
}