之前有介绍过插入排序,详细内容可以点击上方传送门,今天再给大家介绍一种排序——冒泡排序。
冒泡排序是所有排序算法中最简单、最基本的一种。冒泡排序算法的核心思路就是交换排序,通过相邻数据的比较和交换来达到排序的目的。
内冒泡排序的运作如下:(从后往前)
(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。
(2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
(3)针对所有的元素重复以上的步骤,除了最后一个。
(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
public class Test {
static final int SIZE = 10;
public static void bubbleSort(int[] a) {
int temp;
for (int i = 1; i < a.length;="" i++)="">
for (int j = 0; j < a.length="" -="" i;="" j++)="">
if (a[j] > a[j + 1]) { //将相邻两个数进行比较,较大的数往后冒泡
//交换相邻两个数
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
System.out.print('第' + i + '步排序结果:'); //输出每步排序的结果
for (int k = 0; k < a.length;="" k++)="">
System.out.print(' ' + a[k]); //输出
}
System.out.print('\n');
}
}
public static void main(String[] args) {
int[] arr = new int[SIZE];
int i;
for (i = 0; i < size;="" i++)="">
arr[i] = (int)(100 + Math.random()*(100+1));//初始化一个数组进行排序
}
System.out.print('排序前的数组为:\n'); //输出排序前的数组
for (i = 0; i < size;="" i++)="">
System.out.print(arr[i] + ' ');
}
System.out.print('\n');
bubbleSort(arr); //排序操作
System.out.print('排序后的数组为:\n');
for (i = 0; i < size;="" i++)="">
System.out.print(arr[i] + ' '); //输出排序后的数组
}
System.out.print('\n');
}
}
联系客服