当前位置:实例文章 » JAVA Web实例» [文章]C语言实现冒泡排序排列数组中的元素!

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)。在本文中,我们实现了一个冒泡排序函数,并使用该函数对一个示例数组进行排序。

其他信息

其他资源

Top