数组冒泡法排序c语言程序
时间: 2025-04-20 11:36:46 浏览: 27
### C语言实现数组冒泡排序算法
在C语言中,通过数组来实现冒泡排序是非常常见的做法。下面给出一段完整的示例代码,该代码实现了对整型数组的升序排列。
```c
#include <stdio.h>
// 函数用于打印数组中的元素
void display(int arr[], int size) {
for (int i = 0; i < size; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
}
// 冒泡排序函数定义
void sort_bubble(int arr[], int n) {
int temp;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 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[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
printf("原始数组: \n");
display(arr, n);
sort_bubble(arr, n); // 调用冒泡排序方法
printf("排序后的数组:\n");
display(arr, n);
return 0;
}
```
上述代码展示了如何创建并初始化一个包含7个随机数值的数组`arr`,以及调用了自定义的`sort_bubble()`来进行排序操作[^1]。 接着利用辅助性的`display()`函数分别显示了排序前后数组的状态变化情况[^4]。
#### 关键点解释:
- `main()`函数负责整个程序流程控制;
- `sort_bubble()`执行实际的冒泡排序逻辑,在每次迭代过程中都会减少一轮内部循环次数,因为每完成一次外层遍历就会把当前未处理部分的最大值移动到最后面的位置上;
- 使用临时变量`temp`保存被替换的数据项以便于两者的互换过程;
阅读全文
相关推荐

















