linux C冒泡排序

1.冒泡排序就行水中的氣泡一樣,氣泡最大的在最上面,
對整型數組中,相鄰兩個元素進行比較,大的放在右邊;
2.外循環是需要有多少組:i=len-1,因爲最後一組時,只有自己一個元素,不需要和其它元素進行比較;
3.內循環是每組內部內部相鄰元素進行比較,需要比較次數是:j=len-i-1,因爲每組比較時最終都有一個最大元素值,不需要進行相鄰元素比較了;

#include <stdio.h>
int bubb_sort(int array[], int len) 
{     
    int i = 0;
    int j = 0;
    int temp =  0;
    //組循環
    for (i = 0; i < len -1; i++)
    {   
        //組內元素比較
        for (j = 0; j < len-i-1; j++)
        {             
            if (array[j] > array[j+1])
            {
                temp  = array[j];
                array[j] = array [j+1];
                array[j+1] = temp;
            }
        }
    }
    return 0;
}

int main() 
{
    int i = 0;
    int array[ ]={5,3,8,2,6,1,4,7};
    bubb_sort(array, 8);
    for (i = 0; i<8; i++)
    {
        printf("%d ", array[i]);
    }
    return 0; 
} 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章