最优冒泡法排序(C语言)

来源:互联网 发布:巴西 知乎 编辑:程序博客网 时间:2024/06/05 15:02

对于大多数学程序的人来说。冒泡法排序肯定不陌生,但如何使算法变得更加完美,这就看个人修为了。接下来用C语言给大家一种改进的冒泡法排序。先看代码大笑

在这里同样可以看到时间复杂度依然是O(n^2),但在实际运用中,上面的排序要比原始版的节省许多的时间。为什么会节省时间呢?

优势:原始版的算法,经过每一次的循环只能排一个数,也就是必须要经过n(n-1)/2次比较才能排好序,上面实现的算法就不用了,假如有已经排好序的区间,会直接跳过,不需要进行排序,大大缩短了排序时间,或者数组本身不在进行交换同样会跳出循环,完成排序。

本人文字表达实在是拙,还是请看上面的代码吧(实在看不懂的话,那笔走一遍,你就什么都明了),程序猿的交流不需要文字,代码就是我们沟通的桥梁。如果上述有什么错误,欢迎大家指出


0 0