用C语言如何实现冒泡排序
时间: 2023-07-16 19:13:23 浏览: 49
冒泡排序是一种经典的排序算法,它的基本思想是将相邻的元素不断比较并交换,将最大或最小的元素逐渐“浮”到数组的一端。下面是用 C 语言实现冒泡排序的代码示例:
```c
#include <stdio.h>
void bubble_sort(int arr[], int len)
{
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int len = sizeof(arr) / sizeof(int);
int i;
bubble_sort(arr, len);
printf("排序后的结果为:");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在这个示例中,我们定义了一个 bubble_sort 函数来执行冒泡排序。该函数接收一个整数数组和数组长度作为参数,然后使用两个嵌套的 for 循环来遍历数组并比较相邻元素的大小。如果前面的元素大于后面的元素,则交换它们的位置。最后,我们在主函数中调用 bubble_sort 函数,并打印排序后的结果。