一、基本思想
冒泡排序的基本思想就是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部了。
二、算法实现
package cn.szxy.hq;
/**
* Created by HQ on 2018/9/30.
*/
public class BubbleSort {
/**
*
* @param args
*/
public static void main(String[] args) {
int[] array={12,78,22,63,65,40,23};
BubbleSort bubbleSort=new BubbleSort();
System.out.println("排序前:");
bubbleSort.showArray(array);
bubbleSort.sort(array);
System.out.println("排序后:");
bubbleSort.showArray(array);
}
/**
* 冒泡排序
* @param array
*/
public void sort(int[] array) {
for(int i=1;i<array.length;i++){
//比较两个相邻元素,较大的数往后冒泡
for(int j=0;j<array.length-i;j++){
if(array[j]>array[j+1]){
int temp=array[j]; //把第一个元素值保存到临时变量中
array[j]=array[j+1]; //把第二个匀速值保存到第一个元素单元中
array[j+1]=temp; //把临时变量(也就是第一个元素的值)保存到第二个元素中
}
}
}
}
/**
* 显示数组中的元素
* @param array
*/
public void showArray(int[] array){
for(int i:array){ //遍历数组
System.out.print(i+" "); //输出每一个元素的值
}
System.out.println();
}
}