排序算法之冒泡排序

来源:互联网 发布:图解电影的软件 编辑:程序博客网 时间:2024/06/05 10:55

冒泡排序是一种流行但低效的排序算法,它的原理是反复交换未按次序排序的元素,可以做下了解不过真的没什么价值。

代码如下:

void BubbleSort(int* arr, int len) {for (int i = 0; i < len; i++) {for (int j = len - 1; j > i ; j--) {if (arr[j] < arr[j - 1]) {int temp = arr[j];arr[j] = arr[j - 1];arr[j - 1] = temp;}}}}


以测试排序数组{ 31,41,59,26,41,58 }为例,上图为BubbleSort执行过程的输出,前三行为第一次外层总循环,第四行为第二次外层总循环,最后一行为第三次外层总循环。

这个过程清晰地展示出来冒泡排序的原理,其时间复杂度跟插入排序类似(个人认为不如插入排序)。

如果刚学算法强推上篇博文~


原创粉丝点击