黑马程序员技术交流社区

标题: 基础测试里有道题要用到冒泡排序,谁能解答下 [打印本页]

作者: 人生充满期待    时间: 2015-4-27 20:53
标题: 基础测试里有道题要用到冒泡排序,谁能解答下
我再论坛里下得视频里面好像没有这方面的知识啊,谁能帮我解答下,谢谢,如何做到冒泡排序?
作者: 仰望的繁华    时间: 2015-4-27 21:03
本帖最后由 仰望的繁华 于 2015-4-28 10:32 编辑

有空可以考虑自学一下数据结构。
作者: 人生充满期待    时间: 2015-4-27 21:06
不会是我下载的视频已经过时了把,我再论坛下了笔记,看笔记上东西要多很多
作者: mony    时间: 2015-4-27 21:14
以从大到小的冒泡排序为例,
就是第一个先和第二个比较,如果第二个大,则第二个和第一个交换,否则不交换。
然后第二个和第三个比较,如果第三个大,则第三个和第二个交换,否则不交换。
就这样,第一轮比较的结果就是,把最小的数放在了最后。
接着第二轮就可以不用和最后一个比较,依然是现在的第一个和第二个比较,小的放后面,
第二轮的结果就是倒数第二小的,放在倒数第二的位置。依次类推,最后最大的就到了最前面。
一般冒泡使用两个for循环嵌套。代码为:
  1. for (int i = 0; i < total; i++) {
  2.         for (int j = 0; j < total - i - 1; j++) {
  3.             //此处比较数组[j][j+1],符合条件则交换两数
  4.         }
  5.     }
复制代码

作者: 人生充满期待    时间: 2015-4-27 21:23
大家是自学的这个么,我在视频上没有看到,在网上看才了解到冒泡排序这个词,然后论坛笔记里也有讲到,是不是我下的视频不全还是怎么回事
作者: mony    时间: 2015-4-27 21:24
人生充满期待 发表于 2015-4-27 21:23
大家是自学的这个么,我在视频上没有看到,在网上看才了解到冒泡排序这个词,然后论坛笔记里也有讲到,是不 ...

在大学里学过的。这是编程的基本算法。
作者: 人生充满期待    时间: 2015-4-27 21:25
mony 发表于 2015-4-27 21:14
以从大到小的冒泡排序为例,
就是第一个先和第二个比较,如果第二个大,则第二个和第一个交换,否则不交换 ...

感谢,写的很清楚
作者: mony    时间: 2015-4-27 21:26
人生充满期待 发表于 2015-4-27 21:25
感谢,写的很清楚

不用谢,或许我们会在一起学习,相互帮助的
作者: ydy96315    时间: 2015-4-28 07:00
是不是视频外还有很多东西要学习啊
作者: 2119391569    时间: 2015-4-28 07:10
冒泡排序在基础测试的第52小节,可能你下的不全吧!
作者: 凌乱    时间: 2015-4-28 09:18
表示没见过这个词语
作者: 人生充满期待    时间: 2015-4-28 11:58
多做题是王道,不会的再去慢慢发掘,不然有些东西永远不知道
作者: tdyx03    时间: 2015-4-28 11:59
原来还考数据结构 算法这块的呀。。
作者: 转街过巷    时间: 2015-4-28 13:56
建议楼主把基本的排序方法都掌握,因为很基础。




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