用C语言写出1.编程判断序列:87,78,53,45,65,9,31,17,23是否为大根堆。 2.编程将序列:7,4,9,15,2,6,10建成堆并输出。 3.修改简单计数排序算法,将序列:23,33,32,44,33,33,65,43,31,12进行排序并输出。的代码
时间: 2024-06-16 14:07:46 浏览: 131
排序算法,用C语言来做的
1. 判断序列是否为大根堆的C语言代码如下:
```c
#include <stdio.h>
int isMaxHeap(int arr[], int n) {
for (int i = 0; i <= (n - 2) / 2; i++) {
if (arr[i] < arr[2 * i + 1] || (2 * i + 2 < n && arr[i] < arr[2 * i + 2])) {
return 0;
}
}
return 1;
}
int main() {
int arr[] = {87, 78, 53, 45, 65, 9, 31, 17, 23};
int n = sizeof(arr) / sizeof(arr);
if (isMaxHeap(arr, n)) {
printf("该序列是大根堆。\n");
} else {
printf("该序列不是大根堆。\n");
}
return 0;
}
```
阅读全文