“冒泡排序法”的解释

回顾一下经典的算法:冒泡排序法

首先介绍一下“冒泡排序法”是什么:

顾名思义,冒泡嘛,就是气泡慢慢从水底浮上来。

而我们这里浮上来的不是气泡,而是“数”。

冒泡排序法就是比较前两个数,如果第一个数比第二个数小,那么位置不变;如果第一个数比第二个数大,那么交换位置,即大的数放到后面。

之后第二个数与第三个数比较,第三个数与第四个数比较... ...直到倒数第二个数和倒数第一个数比较。

那么,比较一轮下来,最后边的数一定是最大的数。

然后,针对于剩下的数字,重复上述步骤。

这样,当重复完成后,这排数列就按照从小到大的顺序排好了。

C语言里的冒泡排序法:

#include <stdio.h>

#define SIZE 8

void bubble_sort (int a[ ] , int n );

void bubble_sort (int a[ ] , int n ){

    int i , j ,temp ;

    for ( j = 0 , i < n-1-j ; j ++ )

        for ( i=0 ; i < n -1 - j ; i ++ ) 

        {

            if (a [ i ] > a [ i + 1 ] )

            {

                temp = a [ i ] ; 

                a [ i ] = a [ i + 1 ] ; 

                a [ i + 1 ] = temp ;

            }

        }

}

int main ( )

{

    int number [ SIZE ] = {  95, 45, 15, 78, 84, 51, 24, 12 } ;

    int i ;

    bubble_sort ( number , SIZE ) ; 

    for ( i = 0 , i <SIZE ; i ++ )

    {

        print ( "%d", number[ i ] ) ; 

     }

    print ( "\n" )
}

Python里的冒泡排序法:

List = [ 3, 4, 1, 2, 5, 8, 0 ]

for i in range( len ( List ) -1 ):

    for j in range( len ( List ) -1 - i ) :

        if List[ j ] > List[ j + 1]:

            List [ j ] , List [ j + 1 ] =  List [ j + 1 ] ,  List [ j ] 

print (List) 

猜你喜欢

转载自blog.csdn.net/xylittlework/article/details/79655849
今日推荐