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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mdb 中级黑马   /  2014-3-30 23:05  /  936 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

之前做了一题说让用冒泡排序算法来给一个数组排序,结果自己写了一个排序算法一直以为这就是冒泡排序,结果今天重新看视频的时候视频里也有个冒泡排序,对比了下发现我的程序写得和视频里不同,视频里的是冒泡排序,那下面那个是什么排序算法?
  1. //int k = 0;
  2.             int[] num = { 4, 2, 6, 99, 87, 5, 3, 2, 9, 1, 56 };
  3.             for (int i = 0; i < num.Length; i++)
  4.             {
  5.                 for (int j = i + 1; j < num.Length; j++)
  6.                 {
  7.                     if (num[i] < num[j])
  8.                     {
  9.                         int tem = num[i];
  10.                         num[i] = num[j];
  11.                         num[j] = tem;
  12.                         //k++;
  13.                     }
  14.                 }
  15.             }
复制代码

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

3 个回复

倒序浏览
我认为你那个也是冒泡排序,只不过比较的次数稍微繁琐,这个是最精简的冒泡排序。
  1. int[] num = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
  2.             for (int i = 0; i < num.Length - 1; i++)//比较的趟数
  3.             {
  4.                 for (int j = 0; j < num.Length - 1 - i; j++)//每一趟比较的次数
  5.                 {
  6.                     if (num[j] > num[j+1])//如果第一个数大于第二个数,交换变量的值
  7.                     {
  8.                         int tem = num[j];
  9.                         num[j] = num[j+1];
  10.                         num[j+1] = tem;
  11.                     }
  12.                 }
  13.             }
复制代码
回复 使用道具 举报
cancle 发表于 2014-3-31 01:24
我认为你那个也是冒泡排序,只不过比较的次数稍微繁琐,这个是最精简的冒泡排序。
...

比较的次数是一样的,但是我发现我贴的那个比你写的这个的交换次数要少点....
回复 使用道具 举报
这种形式的就是冒泡排序法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马