冒泡排序(面试题)

冒泡排序

冒泡排序就是将数组内的按大小顺序排序

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;//把输入到方法的数组经过以上流程后,输出出去
  }
}

 

posted on 2020-10-19 17:22  晋歪歪  阅读(505)  评论(0编辑  收藏  举报