什么是冒泡排序

冒泡排序是一种计算机科学领域的常用的较简单的排序算法,它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

冒泡排序的基本原理

冒泡排序的基本原理是两两比较待排序数据的大小 ,当两个数据的次序不满足顺序条件时即进行交换,反之,则保持不变,这样每次最小(或最大)的结点就像气泡一样浮到序列的最前位置。设有 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轮交换都完成后,数据按递增(或递减 )的顺序排列。