C语言冒泡排序法
作者:野牛程序员:2023-08-23 11:58:01C语言阅读 2660
冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数组,比较相邻的元素,如果顺序错误就交换它们,直到整个数组排序完成。冒泡排序的每一轮遍历都会将当前未排序部分的最大(或最小)元素移动到末尾(或开头)。
以下是一个使用 C 语言实现冒泡排序的示例代码:
#include <stdio.h> // 交换两个元素的值 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } // 冒泡排序函数 void bubbleSort(int arr[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(&arr[j], &arr[j + 1]); } } } } int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int size = sizeof(arr) / sizeof(arr[0]); printf("未排序数组:"); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\\n"); bubbleSort(arr, size); printf("冒泡排序后数组:"); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\\n"); return 0; }
在这段代码中,swap
函数用于交换数组中两个元素的值。bubbleSort
函数是主要的冒泡排序函数,它通过多轮遍历,将较大的元素逐步移到数组末尾,从而实现排序。
冒泡排序的时间复杂度为 O(n^2),其中 n 是数组的大小。尽管冒泡排序的性能相对较差,但它简单易懂,是一种经典的排序算法。在实际应用中,它通常不适用于大规模数据集合,但可以用于教学和了解排序算法的基本原理。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C语言线性查找(顺序查找)
- 下一篇:C语言交换法排序