zoukankan      html  css  js  c++  java
  • Java中经典算法之冒泡排序

    Java中,数组是最常用的工具,下面具体说一说。

    数组声明的三种方式:

     1.数组类型[] 数组名=new 数组类型[数组长度];   

     2.数组类型[] 数组名={数组0,数组1,数组2,数组3,....};   

    3.数组类型[] 数组名=new 数组类型[]{数组0,数组1,数组2,...};  

    下面就三种方法一一举例说明:

    String[] number=new String[5]; //直接声明数组的长度
    int[] num={20,12,60,51,85,2,3,12,0}; //直接列举出数组中的数据

    double[] nums=new double[]{12,20,30,10}; //列举数组中的数据

    接下来才是我今天要说的重点

    Java中经典算法之冒泡排序

    原理:比较两个相邻的元素,将值大的元素交换至右端。

    思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

    冒泡排序的实例图

     冒泡排序的过程很简单,就是将第一个记录的关键字和第二个记录的关键字进行比较,如果后面的比前面的小则交换,然后比较第二个和第三个,依次类推。比完一趟,最大的那个已经放到了最后的位置,这样就可以对前面N-1个数再循环比较。

    下面就来看看如何利用代码实现的

    punlic static void main(String[] args){

    /**
    * 声明数组的三种方法
    */
    //String[] number=new String[5]; //直接声明数组的长度
    //double[] nums=new double[]{12,20,30,10}; //列举数组中的数据
    int[] num={20,12,60,51,85,2,3,12,0}; //直接列举出数组中的数据
    System.out.println("排序前数组的顺序=====================");
         for (int item:num) {
              System.out.print(" "+item);
         }

    /**
    * 冒泡排序
    * 借助中间变量 temp 进行的交换
    * @param num
    */
    for (int i = 0; i < num.length; i++) { ///外层循环控制排序趟数
              for (int j = 0; j < num.length-1-i; j++) { //内层循环控制每一趟排序多少次
                    if(num[j]>num[j+1]){ //如果后一个数小于前一个数
                           int temp=num[j];
                           num[j]=num[j+1];
                           num[j+1]=temp;
                     }
              }
    }

    System.out.println();
    System.out.println("排序后数组的顺序=====================");
             for (int item:num) {
                      System.out.print(" "+item);
           }

    }

    控制台打印结果:

     到此为止,Java中经典算法之冒泡排序基本结束。

    欢迎大家评论或者指出不足的地方!!!

  • 相关阅读:
    MySQL初步
    学会编写Android Studio插件 别停留在用的程度了
    IDEA创建Java项目并配置servlet
    nginx 安装
    推荐博主
    ssh调试及指定私钥
    程序员接私活必备的 10 个开源项目
    springboot项目搭建java项目后台框架
    JAVA程序员常用网站/工具集合
    linux安装JDK教程JAVA相关
  • 原文地址:https://www.cnblogs.com/sujulin/p/8997647.html
Copyright © 2011-2022 走看看