冒泡排序算法

来源:互联网 发布:不列颠空战知乎 编辑:程序博客网 时间:2024/06/05 17:10
#include <stdio.h>void bubble_sort(int a[], int n){    int i, j;    int tmp = 0;    for (i = n-1; i > 0; i--)        for (j = 0; j < i; j++)            if (a[j] > a[j+1])            {                tmp = a[j];                a[j] = a[j+1];                a[j+1] = tmp;            } }int main(){    int arr[10] = {0,9,5,2,7,3,8,10,4,6};    bubble_sort(arr, 10);    int i = 0;    while (i < 10)        printf("%d,", arr[i++]);    printf("\n");    return 0;}

冒泡排序算法基于两次for循环实现,每次内循环比较两个相邻的数,若前面的大于后面的数则交换,外循环执行n-1次。