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

