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中经典算法之冒泡排序基本结束。

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

  • 相关阅读:
    RecyclerView 数据刷新的几种方式 局部刷新 notify MD
    【图片】批量获取几万张图片
    RV BaseRecyclerViewAdapterHelper 总结 MD
    RecyclerView.ItemDecoration 间隔线
    Kotlin【简介】Android开发 配置 扩展
    Kotlin 特性 语法糖 优势 扩展 高阶 MD
    一个十分简洁实用的MD风格的UI主框架
    折叠伸缩工具栏 CollapsingToolbarLayout
    FloatingActionButton FAB 悬浮按钮
    Glide Picasso Fresco UIL 图片框架 缓存 MD
  • 原文地址:https://www.cnblogs.com/sujulin/p/8997647.html
Copyright © 2011-2022 走看看