冒泡排序概念及java实现
基本概念
冒泡排序的基本思想是:通过对待排序序列从前到后(从下标较小的元素开始),依次比较相邻元素的值,如果发现逆序(a[j]>a[j+1])则交换,使得值较大的元素逐渐从前向后移动,就像气泡一样往上冒。
简单举例
原始数组 arr[]={20,3,9,-1,10}
第一次:[3, 9, -1, 10, 20]
第二次:[3, -1, 9, 10, 20]
第三次:[-1, 3, 9, 10, 20]
第四次:[-1, 3, 9, 10, 20]
代码实现
package sort; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { int arr[]={20,3,9,-1,10}; bubbleSot(arr); } //冒泡排序实现方法 public static void bubbleSot(int[]arr){ int temp=0; for(int i=0;i< arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ //如果前面的数大于后面的数,则进行交换 if(arr[j]>arr[j+1]){ temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } System.out.println("第"+(i+1)+"次的数组"); System.out.println(Arrays.toString(arr)); } } }
运行结果