C语言实现冒泡排序算法 - 代码示例和讲解

冒泡排序是一种简单的排序算法,它通过反复比较相邻元素并交换位置来实现排序。以下是使用C语言实现冒泡排序的代码示例:

#include <stdio.h>

void bubbleSort(int arr[], int n) {
    int i, j;
    for (i = 0; i < n-1; i++) {
        for (j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                // 交换相邻两个元素
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main() {
    int n, i;
    printf("请输入数组的大小: ");
    scanf("%d", &n);
    
    int arr[n];
    printf("请输入数组元素: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    bubbleSort(arr, n);
    
    printf("排序后的数组: ");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

这段代码首先会要求用户输入数组的大小,并根据输入的大小创建一个整数数组。然后,用户需要输入数组的元素。接下来,调用bubbleSort函数进行冒泡排序。最后,输出排序后的数组。

代码解析:

  1. bubbleSort 函数:

    • 循环遍历数组,每次比较相邻两个元素。
    • 如果左边的元素大于右边的元素,则交换这两个元素。
    • 循环进行 n-1 次,每次循环将最大的元素移到数组末尾。
  2. main 函数:

    • 获取用户输入的数组大小和元素。
    • 调用 bubbleSort 函数进行排序。
    • 输出排序后的数组。

总结:

冒泡排序是一种简单的排序算法,它易于理解和实现。虽然它的时间复杂度为 O(n^2),但在某些情况下,它仍然是一个有效的选择。

C语言实现冒泡排序算法 - 代码示例和讲解

原文地址: http://www.cveoy.top/t/topic/DVX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录