小组Java
  • 你们是怎么理解冒泡排序的

    2016/03/14 NESTS123 2 评论

都是程序员,相信冒泡排序的思想大家都懂,但是平时我写冒泡排序一直是这样写的,下面上代码:

我所理解的冒泡排序是“前后相邻两两比较”,第一层for循环代表前面的元素,比较完它会走到末尾减一的位置,第二层for循环代表后面的元素,比较完它会走到末尾。我所理解的冒泡排序就是让这一前一后二个元素相互比较着走到末尾和末尾减一的位置即可,为什么很多其他的冒泡排序是把第一层for循环看作循环次数,第二层for循环看作是比较次数,当然代码会稍有不同,但是那样理解真的是在冒泡吗?我怎么觉得那是在选择呢?

2 收藏


直接登录
最新评论
  • jinyong 学生 2016/03/15

    冒泡第一次内循环找到一个最值,然后放在顶上,下一次内循环找到剩下元素中的最值。你写的代码并不是前后比较吧,而是拿一个和它后面的所有比较,然后找出最值,这是冒泡,不过据说冒泡有好多种。

    • NESTS123 程序员 2016/03/15

      拿一个和它后面的所有比较,找最值这是选择排序的思想。我这里是把外层for当作前一个元素的循环,内层for当作是后一个元素的循环,各走各的循环,边循环边比较,循环完也就比较完了,这不才是最正宗的冒泡吗