C语言 设计冒泡排序算法, 输入一个整数数组及其元素个数, 从小到大排列后输 出此数组 如输入: 54 91 32 78 12 5 输出: 12 31 54 78 91(空格隔开)
时间: 2024-09-30 07:07:07 浏览: 58
在C语言中设计冒泡排序算法可以分为以下几个步骤:
1. 定义函数:首先,你可以创建一个名为`bubble_sort`的函数,接受两个参数,一个是整数数组`arr`,另一个是数组长度`n`。
```c
void bubble_sort(int arr[], int n) {
// 冒泡排序算法的主体部分
}
```
2. 内部循环:在这个函数里,使用嵌套的for循环来比较相邻的元素并交换它们,如果它们的顺序不对。外部循环控制遍历次数,内部循环负责具体的比较和交换操作。
```c
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; 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. 返回排序后的数组:由于C语言并不直接支持将数组作为返回值,你可以选择通过修改原数组的方式来实现,并在主程序中打印结果。
```c
// 主程序部分
int main() {
int numbers[] = {54, 91, 32, 78, 12, 5};
int n = sizeof(numbers) / sizeof(numbers[0]);
bubble_sort(numbers, n);
printf("Sorted array: ");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
当你运行这个程序时,它会按照从小到大的顺序对数组进行排序,并显示排序后的结果。