C语言实现冒泡排序算法 - 代码示例和讲解
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函数进行冒泡排序。最后,输出排序后的数组。
代码解析:
-
bubbleSort函数:- 循环遍历数组,每次比较相邻两个元素。
- 如果左边的元素大于右边的元素,则交换这两个元素。
- 循环进行 n-1 次,每次循环将最大的元素移到数组末尾。
-
main函数:- 获取用户输入的数组大小和元素。
- 调用
bubbleSort函数进行排序。 - 输出排序后的数组。
总结:
冒泡排序是一种简单的排序算法,它易于理解和实现。虽然它的时间复杂度为 O(n^2),但在某些情况下,它仍然是一个有效的选择。
原文地址: http://www.cveoy.top/t/topic/DVX 著作权归作者所有。请勿转载和采集!