A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 早知道 中级黑马   /  2013-9-27 14:12  /  2019 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 早知道 于 2013-9-27 16:43 编辑

今天做冒泡排序的练习

  1. <P> </P>
复制代码
上面应该是冒泡排序,但换成下面的做法也可以实现排序
  1. int[] arr = {4,2,10,8,1,14,2,16};
  2. int num=0;
  3. for(int i = arr.length-1;i>0;i--){//冒泡排序?
  4. for(int j=0;j<i;j++){
  5. if(arr[i]<arr[j]){
  6. swap(arr, i, j);
  7. }
  8. num++;
  9. }
  10. }


  11. for(int i=0;i<arr.length;i++){
  12. System.out.println(arr[i]);
  13. }
  14. System.out.println("循环次数"+num);
复制代码
不知道这是不是冒泡?循环次数和上面一样,这个方法可以用来实现数组的排序吗,还是只是特例?


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

正序浏览
yangxin540 发表于 2013-9-27 14:28
哥们你这不是冒泡呀,冒泡是相邻的两个元素相比,而你这个拿一个元素于剩下的比,是选择排序 ...

仔细看了下真的是选择排序 没有很好理解
回复 使用道具 举报
哥们你这不是冒泡呀,冒泡是相邻的两个元素相比,而你这个拿一个元素于剩下的比,是选择排序

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

回复 使用道具 举报
亲,您的代码不全,至于您的代码能不能排序,你运行一下看结果就知道了啊

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马