其实从我学习c++以来,我一直搞不明这两个排序有什么区别!!
不过呢,今天经过某位高师的知道,在下顿悟了!!
现在就说说我的心得把,如果有错请见谅!!
我们先看一段排序的例子把:
这里有一个数组:
12 45 342 2
前面我弄的比较特别:是一个顺序的排列,而只有最后一个数不是有序的
我们现在来排序,而这里只要排最后一个数
对于插入排序来说,进行一趟排序之后就有: 2 12 45 342
而对于冒泡排序,进行一趟排序之后有: 12 45 2 342
你明白我的意思吗?(你懂得!)
打个比喻:
插入排序就像是抽扑克牌,抽到一张牌就直接把它放到适合的位置,
而冒泡排序的话就像是一个一个老太太,一步一步向上挪,每次只挪一步!
从上面的例子来看:
冒泡排序还要挪两步才把2挪到最前面,
而插入排序是直接把2查到最前面的!
我想我说到这里大家应该会明白了!至于代码实现的话以后我在放到博文里……