打擂台排序法c语言
时间: 2023-08-19 13:12:50 浏览: 276
打擂台排序法是一种简单的排序算法,可以用C语言实现。以下是一个示例代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void bubble_sort(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]) {
swap(&arr[j], &arr[j+1]);
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 4, 1};
int n = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该代码定义了一个 `swap` 函数用于交换两个元素的值,然后使用了嵌套的循环来进行排序。在每一轮排序中,比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置,直到所有元素都按照升序排列。最后,输出排序后的数组。
需要注意的是,该代码实现的是冒泡排序,而不是打擂台排序。如果需要实现打擂台排序,需要对算法进行相应的修改。
阅读全文