冒泡排序冒泡排序是一种简单的排序算法,也是一种稳定的排序算法。实现原理是反复扫描待排序的序列,比较每一对相邻的元素,当这对元素的顺序不正确时交换。重复这个过程,直到不能交换相邻的两个元素,则表示排序完成。一般来说,一个排序算法是稳定的,就是当待排序的序列中有相同的元素时,排序前后它们的相对位置不会发生变化。假设待排序序列为(5,1,4,2,8),如果采用冒泡排序对其进行升序排序(从小到大),则整个排序过程如下:1)在第一轮排序,当整个序列中的元素都在待排序序列中时,依次扫描每一对相邻的元素,交换顺序不正确的元素对的位置。整个过程如图1所示。图1第一轮排序(白色字体表示一对相邻元素参与比较)从图1可以看出,第一轮冒泡排序后,最大的数从待排序序列中找到8并放在待排序序列的末尾,并合并到已排序序列中。2)第二轮排序。此时待排序的序列只包含前4个元素。依次扫描每一对相邻的元素,交换顺序不正确的元素对的位置。整个过程如图2所示。图2第二轮排序表明,经过第二轮冒泡排序后,从待排序序列中找出最大的数5,将其放在序列末尾进行排序被排序并合并到已排序的序列中。3)第三轮排序。此时待排序序列包含前3个元素,依次扫描每对相邻元素,交换顺序不正确的元素对的位置。整个过程如图3所示。图3第三轮排序经过这轮冒泡排序,从待排序序列中找出最大数4,将其放在待排序序列的末尾,并合并到已排序的序列中。4)第四轮排序。此时,待排序的序列包含前两个元素。冒泡排序的整个过程如图4所示。图4第四轮排序经过这轮冒泡排序,从待排序的序列中找出最大的数2,将其放在序列的末尾被排序并合并到已排序的序列中。5)进行第五轮冒泡排序时,由于待排序序列中只剩下一个元素,不考虑相邻元素的比较,直接合并到已排序序列中,此时的序列被识别as已排序的序列(如图5所示)。图5冒泡排序好序列实现冒泡排序的实现代码为:array//从大到小排序vararray=[10,20,9,8,79,65,100];//比较轮数for(vari=0;i
