源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

深入Java冒泡排序与选择排序的区别详解

  • 时间:2020-11-22 01:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:深入Java冒泡排序与选择排序的区别详解
[b]冒泡排序 [/b]它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 代码如下:
[u]复制代码[/u] 代码如下:
public class nums {      public static void main(String[] args){          int []nums = {5,4,3,2,1};          for(int i = 0; i < nums.length; i++){              for(int j = 0; j < nums.length-i-1; j++){                  if(nums[j] > nums[j+1]){                      int temp = nums[j];                      nums[j] = nums[j+1];                      nums[j+1] = temp;                  }              }              for(int x = 0;x < nums.length;x++){                   System.out.print(nums[x]+",");               }              System.out.print("\n");          }      }  }
每一轮比较后的输出如下:
[u]复制代码[/u] 代码如下:
1 4,3,2,1,5, 2 3,2,1,4,5, 3 2,1,3,4,5, 4 1,2,3,4,5, 5 1,2,3,4,5,
从输出中可以很清楚的明白冒泡排序的算法流程。 [b]选择排序 [/b]每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 代码如下:
[u]复制代码[/u] 代码如下:
public class nums {      public static void main(String[] args){          int []nums = {5,4,3,2,1};          for(int i = 0; i < nums.length; i++){              for(int j = 0; j < nums.length; j++){                  if(nums[i] < nums[j]){                      int temp = nums[i];                      nums[i] = nums[j];                      nums[j] = temp;                  }              }              for(int x = 0;x < nums.length;x++){                   System.out.print(nums[x]+",");               }              System.out.print("\n");          }      }  }
从代码中可以看出每轮比较中,nums[i]和数组中的每个元素都有作比较。 每一轮比较后的输出如下:
[u]复制代码[/u] 代码如下:
1 5,4,3,2,1, 2 4,5,3,2,1, 3 3,4,5,2,1, 4 2,3,4,5,1, 5 1,2,3,4,5,
从输出结果中还是很容易看出它与冒泡排序在算法上的区别。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部