冒泡法排序c语言
时间: 2025-04-26 17:13:19 浏览: 42
### C语言实现冒泡排序
#### 冒泡排序函数定义
为了实现冒泡排序,需要编写一个名为 `bubbleSort` 的函数来执行核心逻辑。此函数接收两个参数:指向待排序数组的指针以及该数组的大小。
```c
#include <stdio.h>
// 定义冒泡排序函数
void bubbleSort(int *arr, int n) {
int i, j;
for (i = 0; i < n-1; i++) {
// 内层循环控制相邻元素比较次数
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 如果前一个元素大于后一个,则交换两者位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
```
这段代码展示了完整的冒泡排序过程[^1]。通过双重循环结构遍历整个列表并逐次对比每一对邻近项;一旦发现前者较大就会立即调换它们的位置直到所有项目都按升序排列为止。
#### 主程序测试部分
下面是在主函数中创建了一个整型数组,并将其传入到前面定义好的 `bubbleSort()` 函数里完成排序操作后再打印出来查看效果:
```c
int main() {
int data[] = {64, 34, 25, 12, 22, 11, 90};
int size = sizeof(data)/sizeof(data[0]);
printf("原始数组:\n");
for (int k=0;k<size;++k){
printf("%d ",data[k]);
}
bubbleSort(data,size);
printf("\n\n排序后的数组:\n");
for (int l=0;l<size;++l){
printf("%d ",data[l]);
}
return 0;
}
```
以上就是使用C语言编写的完整版冒泡排序实例。它不仅包含了具体的算法实现细节还提供了实际运行环境下的验证方法以便于理解和实践。
阅读全文
相关推荐















