zoukankan      html  css  js  c++  java
  • 冒泡排序(面试题)

    冒泡排序

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

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

     

  • 相关阅读:
    2060: [Usaco2010 Nov]Visiting Cows 拜访奶牛
    2020: [Usaco2010 Jan]Buying Feed, II
    3396: [Usaco2009 Jan]Total flow 水流
    3403: [Usaco2009 Open]Cow Line 直线上的牛
    2102: [Usaco2010 Dec]The Trough Game
    最小生成树——Kruskal算法
    最短路径——Floyd算法(含证明)
    最短路径——Bellman-Ford算法以及SPFA算法
    最短路径——Dijkstra算法以及二叉堆优化(含证明)
    普通并查集
  • 原文地址:https://www.cnblogs.com/jinweichaoyouqu/p/13841442.html
Copyright © 2011-2022 走看看