Java中经典算法之冒泡排序
Posted 努力奋斗吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中经典算法之冒泡排序基本结束。
欢迎大家评论或者指出不足的地方!!!
以上是关于Java中经典算法之冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章