用c++手撕冒泡排序
时间: 2023-10-05 15:11:18 浏览: 133
冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并根据需要交换它们的位置,使得每一轮遍历都将最大的数沉到列表的底部。以下是用C语言手撕冒泡排序的步骤:
```C
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int 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; }
}
}
}
int main() {
int arr[] = {69, 70, 21, 26, 18, 21, 94, 43, 4, 37};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
printf("排序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码中,我们定义了一个函数`bubbleSort`来实现冒泡排序算法。它接受一个整数数组和数组的长度作为参数。通过嵌套的`for`循环,我们比较相邻的两个元素,如果前面的元素大于后面的元素,则交换它们的位置。通过多次遍历和交换,最大的数逐渐沉到数组的底部。
在`main`函数中,我们声明了一个整数数组,并计算数组的长度。然后,我们调用`bubbleSort`函数对数组进行排序。最后,我们使用`printf`函数打印排序后的数组。
排序后的数组为:4 18 21 21 26 37 43 69 70 94
阅读全文