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

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

原文地址:https://www.cnblogs.com/sujulin/p/8997647.html