冒泡排序

#include <stdio.h>
void BubbleSort(int a[], int size);

int main(void)
{
    int arr[] = {1, -3, 5, 0, 9 ,6, 4};
    BubbleSort(arr, sizeof(arr)/sizeof(arr[0]));

    unsigned int i;
    for (i=0; i<sizeof(arr)/sizeof(arr[0]); i++){
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0;

}

void BubbleSort(int a[], int size)
{
    int i, j, flag;
    // 每次浮出一个未排序部分的最大数
    for (i=size-1; i>0; i--){
        for (j=0; j<i; j++){
            // 比较相邻的两个元素
            if (a[j] > a[j+i]){
                int tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
        }
    }
}

排序后结果:

结果.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容