三大基本排序算法之一,交换排序--冒泡排序(Bubble Sort)。
交换,是根据序列中两个记录键值的比较结果来兑换这两个记录在序列中的位置。
前提:
排序结果为从小到大。
冒泡排序,是将一排序列,从左向右,两两比较,前边的数比后边的数大,就交换位置,一次比较完成,最大的数就排好位置在最后边了,然后再从左向右两两比较,把整个序列中第二大的数排好,以此类推,最终把所有的数都排好。形象的说就像水泡一个一个冒出来。
代码实现:
1. public static void sort(){ 2. System.out.println("开始排序了!"); 3. 4. int[] a = {9,2,4,5,7,6,8,3,1,0}; 5. 6. System.out.println("排序前的序列是:" + Arrays.toString(a)); 7. 8. for(int i = a.length-1; i > 0; i--){ 9. for(int j = 0; j<i; j++ ){ 10. System.out.println("j:" + j); 11. if(a[j]>a[j+1]){ 12. int temp = 0; 13. temp = a[j]; 14. a[j] = a[j+1]; 15. a[j+1] = temp; 16. } 17. } 18. } 19. 20. System.out.println("排序完成了!"); 21. System.out.println("排序后的序列是:" + Arrays.toString(a)); 22. 23. }
形象有趣的动图演示:
图片来源: https://sort.hust.cc/1.bubbleSort.html
总结:
又回顾了一个算法,点滴积累。