冒泡排序

冒泡排序,就是典型的比大小,但是它不是一次性就比好,而是通过很多次才比较好的。它是通过不断的交换位置,确定当次的最大值来完成排序的任务!!
例如:
待排序数组:[ 3 , 2 , 4 , 1 , 5 , 0 ]
升序进行排列, 排序规则见课堂笔记《第5天课堂笔记-数组排序&复制》

  1. /**
  2. * 升序
  3. */
  4. public static void exercise06() {
  5. // TODO Auto-generated method stub
  6. int[] nums = {12,3,56,33,2,1,66,45,34};
  7. //如何进行升序(冒泡排序)
  8. System.out.println("排序以前:" + Arrays.toString(nums));
  9. upSort(nums);
  10. System.out.println("排序以后:" + Arrays.toString(nums));
  11. }
  12. /**
  13. * 冒泡完成升序
  14. * @param nums
  15. */
  16. public static void upSort(int[] nums) {
  17. // TODO Auto-generated method stub
  18. int lenth = nums.length;
  19. //定义一个中间变量
  20. int temp = 0;
  21. for(int i = 0; i < lenth -1; i ++) {//lenth -1 的原因是:我压根不需要和我比
  22. for(int j = 0; j < lenth - i - 1; j ++) {//lenth - i - 1 是:比的是没有确定的位数
  23. //上一位 > 下一位 ,就需要交换位置
  24. if(nums[j] > nums[j + 1]) {
  25. temp = nums[j];
  26. nums[j] = nums[j + 1];
  27. nums[j + 1] = temp;
  28. }
  29. }
  30. System.out.println("经过第" + (i + 1) + "冒泡后,数组为:" + Arrays.toString(nums));