全球专业中文经管百科,由121,994位网友共同编写而成,共计436,137个条目

冒泡排序

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

冒泡排序(Bubble Sort)

目录

什么是冒泡排序

  冒泡排序是一种计算机科学领域的常用的较简单的排序算法。如何设计出复杂度尽可能低且函数复用性高的算法是算法效率和通用性的关键内容。

  它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

冒泡排序的基本原理

  冒泡排序的基本原理是两两比较待排序数据的大小 ,当两个数据的次序不满足顺序条件时即进行交换,反之,则保持不变,这样每次最小(或最大)的结点就像气泡一样浮到序列的最前位置。设有 n 个数的序列,即数组 a(1)~a(n),要求按递增(或递减 )的顺序排列,则冒泡排序法的基本算法描述如下:

  (1)把 a(n)和 a(n一1)比较 ,如果 a(n)<a(n一1) (或 a(n)>a(n一1)),则把 a(n)和 a(n—1)的值交换。

  (2)再将 a(n一1)与 a(n一2)比较,如果 a(n一1)<a(n一2) (或 a(n一1)>a(n一2)),则把 a(n一1)和 a(n一2)的值交换。

  (3)按第(2)步的方法处理 a(n一2)、a(n一3)、a(n一4)、??、a(2)。

  (4)第(1)、(2)、(3)步组成一轮交换,交换完成后最小值(或最大值)被交换到 a(1)里。

  (5)重复第 (1)、(2)、(3)步进行第 2 轮 、第 3 轮、?? 、第n一1 轮交换。设轮数为 i,i= l、2 、3、⋯⋯、n一1,每交换一轮 ,次小值(或次大值)被交换到 a(i)里,所以每轮处理到 a(i+1)结束。n一1轮交换都完成后,数据按递增(或递减 )的顺序排列。

本条目对我有帮助0
MBA智库APP

扫一扫,下载MBA智库APP

  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目投诉举报

本条目由以下用户参与贡献

Mis铭,赵先生.

评论(共0条)

提示:评论内容为网友针对条目"冒泡排序"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号