码迷,mamicode.com
首页 > 编程语言 > 详细

Java中经典算法之冒泡排序

时间:2018-05-06 12:20:33      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:数组   style   简单   ring   string   图片   多少   代码   com   

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

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

 

Java中经典算法之冒泡排序

标签:数组   style   简单   ring   string   图片   多少   代码   com   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!