黑马程序员技术交流社区

标题: 冒泡排序和选择排序之比较! [打印本页]

作者: 1wang2huan    时间: 2015-9-2 20:42
标题: 冒泡排序和选择排序之比较!
冒泡排序是大数下沉或者小数上浮,代码是相邻两个元素比较,然后满足条件进行交换
  1.    for (int i = 0; i<9; i++) {
  2.         for (int j = 0; j<9-i; j++) {
  3.            // count++;
  4.             if (arr[j]<arr[j+1]) {
  5.                 int temp;
  6.                 temp = arr[j];
  7.                 arr[j] = arr[j+1];
  8.                 arr[j+1] = temp;
  9.                 printf("\n排序后:");
  10.                 for (int i = 0; i<10; i++) {
  11.                     printf("%d ",arr[i]);
  12.                 }
  13.             }
  14.         }
  15.         }
复制代码

选择排序是每次循环得到一个最大值或者最小值(代码里实现是,i控制外层循环,内层循环i先不动arr与所有的arr[j]比较,每次选出最大的或者最小的,然后下一次就不在管这个最大值或者最小值了)
  1.     for (int i = 0; i < 9; i++) {
  2.         for (int j = i+1; j < 10; j++) {
  3.             if (arr[i] < arr[j]) {
  4.                 int temp;
  5.                 temp = arr[i];
  6.                 arr[i] = arr[j];
  7.                 arr[j] = temp;
  8.                 printf("\n排序后:");
  9.                 for (int i = 0; i < 10; i++) {
  10.                     printf("%d ",arr[i]);
  11.                 }
  12.             }
  13.         }
  14.     }
复制代码


欢迎大家在本帖讨论,如有独特见解,请不吝赐教!
作者: weicongcing    时间: 2015-9-2 21:09
完胜!!!!
作者: 1wang2huan    时间: 2015-9-2 21:15
weicongcing 发表于 2015-9-2 21:09
完胜!!!!

这两个字太高深了,我暂时还看不懂什么意思!
作者: ai77033024    时间: 2015-9-3 15:01
为什么有这么多黑马币
作者: 靳小龙    时间: 2015-9-3 18:21
{:2_30:}。。。。。。。
作者: 胡茂    时间: 2015-9-4 11:04
路过路过路过.大事说三遍.
作者: 怡宝矿泉水    时间: 2015-9-4 12:17
冒泡比较好理解点
作者: 范文鹏    时间: 2015-9-4 19:49
收藏下 这点确实不太懂
作者: 靳小龙    时间: 2015-9-4 19:57
受教了...谢谢
作者: 1wang2huan    时间: 2015-9-4 20:02
怡宝矿泉水 发表于 2015-9-4 12:17
冒泡比较好理解点

恩,可能你的思维模式比较适合冒泡!{:2_32:}
作者: 1wang2huan    时间: 2015-9-4 20:04
靳小龙 发表于 2015-9-4 19:57
受教了...谢谢

不客气,我发了很多帖子,你还是第一个谢我的,很感动...{:3_51:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2