C语言实现冒泡排序算法
冒泡排序算法原理
冒泡排序是一种简单的排序算法,其基本思想是通过相邻元素之间的比较和交换,使得每一趟排序后最大(或最小)的元素被交换到序列的末尾,从而实现对整个序列的排序。
下面是一个使用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[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]); int i; printf("Original array:\n"); for (i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); bubbleSort(arr, n); printf("Sorted array:\n"); for (i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; }
上述代码中,bubbleSort函数实现了冒泡排序算法。在main函数中,我们定义了一个整型数组arr,并调用bubbleSort函数对其进行排序。最后,我们输出排序前和排序后的数组元素。
我们了解了冒泡排序算法的基本思想,并使用C语言实现了该算法。冒泡排序算法虽然简单易懂,但效率较低,对于大规模数据的排序操作,建议使用更高效的排序算法,如快速排序、归并排序等。