📜  c中使用函数的冒泡排序程序 - C编程语言(1)

📅  最后修改于: 2023-12-03 14:40:25.047000             🧑  作者: Mango

冒泡排序程序介绍

冒泡排序是一种简单但效率较低的排序算法。它会多次比较相邻的元素,并交换顺序不正确的元素,直至所有元素都按照指定顺序排列好。

下面是一个使用C语言实现冒泡排序的示例程序:

#include <stdio.h>

void bubbleSort(int arr[], int n){
    int i, j, temp;
    for(i = 0; i < n-1; i++){
        for(j = 0; j < n-i-1; j++){
            if(arr[j] > arr[j+1]){
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main(){
    int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
    int n = sizeof(arr)/sizeof(arr[0]);
    bubbleSort(arr, n);
    printf("排序后的数组:\n");
    for(int i = 0; i < n; i++){
        printf("%d ", arr[i]);
    }
    return 0;
}
代码说明

代码中定义了两个函数:bubbleSortmain。其中bubbleSort函数实现了冒泡排序算法,参数arr是要排序的数组,参数n是数组中元素的数量。该函数通过多次比较相邻元素的大小,将顺序不正确的元素交换位置。

主函数main定义了一个需要排序的整型数组arr,并获取了它的长度。调用bubbleSort函数将数组元素排好序后,依次输出结果。

运行结果

运行上述程序后,输出结果为:

排序后的数组:
1 1 2 3 3 4 5 5 5 6 9
算法分析

冒泡排序的时间复杂度为$O(N^2)$,其中$N$是待排序的元素数量,因此对于大型数据集效率较低。与其它更快速的排序算法相比,如快速排序和归并排序,冒泡排序的计算成本较高。

总结

冒泡排序虽然简单,但在实际应用中不太常用。当需要对大型数据集进行排序时,更建议使用其他排序算法。熟练掌握排序算法是每个程序员的基础技能之一。