C语言实现冒泡排序排列数组中的元素!
发布人:shili8
发布时间:2025-03-10 08:02
阅读次数:0
**冒泡排序算法**
冒泡排序是一种简单的排序算法,它通过反复地遍历列表来将最小或最大的元素交换到正确的位置。这种算法是稳定的,时间复杂度为 O(n^2),空间复杂度为 O(1)。
**实现步骤**
1. **首先,我们需要定义一个函数来实现冒泡排序**:
cvoid bubbleSort(int arr[], int n)
2. **然后,我们需要遍历列表,比较相邻的元素,并交换它们**:
cfor (int i =0; i < n -1; i++) { for (int j =0; j < n - i -1; j++) { if (arr[j] > arr[j +1]) { // 交换 arr[j] 和 arr[j +1] int temp = arr[j]; arr[j] = arr[j +1]; arr[j +1] = temp; } } }
3. **最后,我们需要返回排序后的列表**:
creturn;
**完整代码**
c#include <stdio.h> // 冒泡排序函数void bubbleSort(int arr[], int n) { for (int i =0; i < n -1; i++) { for (int j =0; j < n - i -1; j++) { if (arr[j] > arr[j +1]) { // 交换 arr[j] 和 arr[j +1] int 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]); printf("排序前:"); for (int i =0; i < n; i++) printf("%d ", arr[i]); printf(" "); bubbleSort(arr, n); printf("排序后:"); for (int i =0; i < n; i++) printf("%d ", arr[i]); printf(" "); return0; }
**输出**
排序前:64342512221190排序后:11122225346490
**总结**
冒泡排序是一种简单的排序算法,它通过反复地遍历列表来将最小或最大的元素交换到正确的位置。这种算法是稳定的,时间复杂度为 O(n^2),空间复杂度为 O(1)。在本文中,我们实现了一个冒泡排序函数,并使用该函数对一个示例数组进行排序。