您的位置:首页 > 编程语言 > Java开发

一步一步搞清排序之冒泡排序(JAVA实现)

2017-03-20 19:30 253 查看
大一C渣渣就讲了的冒泡排序,原理很简单易懂,最近复习各种排序算法,就从冒泡开始吧~~

基本原理:以升序为例子,同过比较不断的将最小的元素往上移,最早确定的是array[0]的数据,接下来再比较剩下的 n-1 个数据,确定array[1]的数据,以此类推…

选择开始比较数据的方式:

可以有两个方向,第一个,由上至下,选定除已确定位置数据的下一位置,由该位置开始向后进行比较,遇到比其小的数据便交换两个数据的位置,直到遍历完剩下的数据为止(注:始终与选定位置的数据进行比较),但是这样的方式存在一个问题,可能较小的数据会在比较中被交换到很后面的位置。

解决办法,就是我们的第二种方法,由下至上选择数据开始比较,这样能保证较小的数据是不断向上移动位置的,就像泡泡一点一点的往天空上升~~

package zj.com.test1.maopao;
import java.util.Arrays;
import java.util.Scanner;

public class Bubble {
int temp = 0;
public void bSort(int array[]){
for(int i = 0;i<array.length;i++){
for(int j = array.length-1;j>i;j--)
{
if(array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
public static void main(String[] args) {
//实例化类
Bubble bubble = new Bubble();
//定义一个数组
int[] a = new int[10];
/*获取键盘输入*/
Scanner scanner = new Scanner(System.in);
for(int i = 0;i<10;i++){
a[i] = scanner.nextInt();
}
bubble.bSort(a);
//按照排序结果输出数组
System.out.print(Arrays.toString(a));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐