c语言升序排列函数冒泡
时间: 2025-01-04 12:29:11 浏览: 8
### C语言实现升序排列的冒泡排序
在C语言中,可以通过编写`bubbleSort`函数来实现升序排列的冒泡排序。该方法利用双重循环遍历数组中的每一对相邻元素并按需交换它们的位置。
以下是完整的示例代码:
```c
#include <stdio.h>
// 定义swap函数用于交换两个整数变量的值
void swap(int *xp, int *yp) {
int temp = *xp;
*xp = *yp;
*yp = temp;
}
// 定义bubbleSort函数执行升序排列
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
// 最后i个元素已经是有序状态
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
swap(&arr[j], &arr[j+1]);
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
printf("未排序前的数组:\n");
for (int i=0; i<n; i++)
printf("%d ", arr[i]);
printf("\n");
bubbleSort(arr, n);
printf("已排序后的数组(升序):\n");
for (int i=0; i<n; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
```
上述代码首先导入标准输入输出库,接着定义了辅助性的`swap`函数用来互换两个位置上的数值;随后实现了核心逻辑——`bubbleSort`函数,在这里采用了双层for循环结构来进行逐次比较和必要时的数据交换操作[^2]。
最后,在`main`函数里创建测试用数据集,并调用了前面编写的排序功能完成整个流程演示[^1]。
阅读全文