冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。
public class 冒泡排序 {
public static void main(String[] args) {
int[] array = {63, 4, 24, 1, 3, 15}; //创建一个数组
冒泡排序 sorter = new 冒泡排序(); //创建一个空的冒泡排序的对象
sorter.sort(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;
}
}
}
showArray(array);
}
/*
* 显示数组中的所有元素
*
* @param array
* 要显示的数组
*/
public void showArray(int[] array) {
for (int i : array){
System.out.println(">" + i);
}
System.out.println();
}
}
简单易懂版本
public class 冒泡排序{
public static void main(String[] args){
int score[] = {63,4,24,1,3,15};
for (int i = 0; i < score.length ; i++){ //
for(int j = 0 ;j < score.length - 1; j++){ //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
if(score[j] > score[j + 1]){ //把大的值交换到后面
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) + "次排序结果:");
for(int a = 0; a < score.length; a++){
System.out.print(score[a] + "\t");
}
System.out.println("");
}
System.out.print("最终排序结果:");
for(int a = 0; a < score.length; a++){
System.out.print(score[a] + "\t");
}
}
}