c 语言一维数组冒泡
时间: 2024-04-26 08:17:38 浏览: 122
C语言-《一维数组和冒泡算法》.ppt
C语言中的一维数组冒泡排序是一种简单的排序算法,它通过多次比较和交换相邻元素的方式将最大(或最小)的元素逐步移动到数组的末尾。下面是一维数组冒泡排序的实现步骤:
1. 首先,定义一个一维数组,并初始化数组元素。
2. 使用两层循环,外层循环控制比较的轮数,内层循环用于比较相邻元素并进行交换。
3. 在每一轮比较中,从数组的第一个元素开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。
4. 每一轮比较结束后,最大(或最小)的元素会被移动到数组的末尾。
5. 重复执行上述步骤,直到所有元素都按照升序(或降序)排列。
下面是一段示例代码,演示了如何使用C语言实现一维数组冒泡排序:
```c
#include <stdio.h>
void bubbleSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换相邻元素的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 1, 9};
int size = sizeof(arr) / sizeof(arr);
printf("排序前的数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
bubbleSort(arr, size);
printf("\n排序后的数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行以上代码,输出结果为:
```
排序前的数组:5 2 8 1 9
排序后的数组:1 2 5 8 9
```
阅读全文