排序算法之冒泡排序

xiaoxiao2021-02-28  10

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

代码如下:

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执行过程的输出,前三行为第一次外层总循环,第四行为第二次外层总循环,最后一行为第三次外层总循环。

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

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

转载请注明原文地址: https://www.6miu.com/read-1149978.html

最新回复(0)