常用排序算法--Bubble Sort(冒泡排序)

该算法的思想是每趟排序都使得较小的元素排到数列的前端,因此,被称为冒泡排序。

算法:

从数列的第一个元素起,比较相邻的两个元素,直到他们按如下顺序排列:

a)比较相邻的两个元素,检查他们顺序是否正确( 第二个数必须比第一个数大)

b)如果他们的顺序不对,则交换他俩的顺序

Bubble Sort Steps - Visualization

void BubbleSort(int *array,int number_of_elements){
    int iter, temp, swapped;        
    do{
        swapped = 0; /* If no element is swapped array is sorted */               
        /* In the following loop compare every pair of adjacent elements and check          
        if they are in correct order */         
        for(iter = 1; iter < number_of_elements; iter++)            
        {
            if(array[iter-1] > array[iter])              
            {
                temp = array[iter-1];                                
                array[iter-1] = array[iter];                        
                array[iter] = temp;                                
                swapped = 1;                  
            }
        }
    }while(swapped);
}
posted @ 2013-03-21 19:51  Gigbit  阅读(306)  评论(0编辑  收藏  举报