冒泡排序
冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序(即跟我们要的顺序相反)则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。
接下来我们通过一个实例讲解来学冒泡排序:
原始数组:3, 9, -1, 10, 20
下图是对冒泡排序过程的一个纤细描述:
从上图的过程中我们可以得到以下规则:
(1) 一共进行了数组的大小-1 次 的循环
(2)每一趟排序的次数在逐渐的减少
接下来我们按照图解的步骤进行冒泡排序的一个代码实现:
public class BubbleSort {
public static void main(String[] args) {
int arr[]={
3,9,-1,10,20};
int temp=0;
//第一趟排序将最大元素放在倒数第一位
for(int i=0;i<arr.length-1;i++){
if(arr[i]>arr[i+1]){
temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
System.out.println("第一趟排序后的数组");
System.out.println(Arrays.toString(arr)