排序算法之二---冒泡排序

冒泡的基本思路:从元素最后处开始向前多遍扫描(邻位比较),遇到逆序元素就交换位置,使得每次扫面都能将扫面区中的最小值移至最前位置

 

#include <stdio.h>

void bubble_sort(int arr[] ,int length)
{
    int i,j;
    for (i = 0; i < length; i++){
        for (j = length-1; j>i ; j--){
            if (arr[j-1] > arr[j]){
                int tmp = arr[j-1];
                arr[j-1] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}

int main(int argc,char *args[])
{
    int arr[] = {6,4,5,67,78,45,534,5,57,65,75,346,8,54};
    bubble_sort(arr,sizeof(arr)/sizeof(int));
    int i;
    for (i = 0; i < sizeof(arr)/sizeof(int); i++){
        printf("%d ",arr[i]);
    }
    return 0;
}

 

posted on 2014-10-12 10:38  --oiio--  阅读(121)  评论(0)    收藏  举报

导航