冒泡排序

冒泡排序是最简单的一种排序算法,其时间复杂度为n方,代码实现如下:

void BubleSort(int *numbers, int beginning, int tail) { for (int i = beginning; i < tail; i++) { for (int j = tail - 1; j > i; j--) { if(numbers[j] < numbers[j - 1]) { int tmp = numbers[j - 1]; numbers[j - 1] = numbers[j]; numbers[j] = tmp; } } } }

这是冒泡排序最直接的一种写法,但是它还有可以优化的地方,随后会列出优化后的冒泡排序算法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,354评论 0 33
  • 什么是冒泡排序? 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个...
    利伊奥克儿阅读 8,987评论 0 1
  • **介绍 **冒泡排序法又称为交换排序,其比较方式由第一个元素开始,比较相邻元素大小,若大小顺序有误,则对调后再进...
    筱南独舞阅读 3,411评论 0 2
  • 1、基本思想 冒泡排序顾名思义就是整个过程像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定...
    Sopphire阅读 9,319评论 0 1
  • 算法之冒泡排序 一:基本概念冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序;它是一种比较简单的排序...
    墨小飞阅读 3,169评论 0 2