C冒泡

作者: 橙姜 | 来源:发表于2018-05-31 15:00 被阅读0次

    最好时间复杂度:O(n)
    平均时间复杂度:O(n^2)
    最坏时间复杂度:O(n^2)

    include<stdio.h>

    // 打印数组
    void print_array(int *array, int length)
    {
    int index = 0;
    printf("array:\n");
    for(; index < length; index++){
    printf(" %d,", *(array+index));
    }
    printf("\n\n");
    }

    void buble_sort(int array[], int length)
    { int i, j, temp;
    for(i = 0; i < length; i++) // 10个数,10 - 1轮冒泡,每一轮都将当前最大的数推到最后
    { for(j = 0; j < length - i; j++) // 9 - i,意思是每当经过一轮冒泡后,就减少一次比较
    if (array[j] > array[j+1])
    {
    temp = array[j];
    array[j] = array[j+1];
    array[j+1] = temp;
    }
    }
    }
    int main(void)
    {
    int array[12] = {1,11,12,4,2,6,9,0,3,7,8,2};
    print_array(array, 12);// 开始前打印下
    buble_sort(array, 12);// 快速排序
    print_array(array, 12);// 排序后打印下
    return 0;
    }

    相关文章

      网友评论

          本文标题:C冒泡

          本文链接:https://www.haomeiwen.com/subject/ahmqsftx.html