使用c语言 实现找出顺序表的最大值和最小值
时间: 2024-10-28 19:12:02 浏览: 18
分治算法找最大最小值和k值.doc
在 C 语言中,找到顺序表(数组或动态链表)的最大值和最小值可以通过遍历列表的方式来实现。这里以数组为例,给出一种简单的方法:
```c
#include <stdio.h>
// 定义数组
#define ARRAY_SIZE 5
int numbers[ARRAY_SIZE] = {10, 20, 30, 40, 50}; // 示例数组
// 函数声明:返回最大值和最小值
void findMinMax(int arr[], int n, int* min, int* max);
int main() {
int min, max;
findMinMax(numbers, ARRAY_SIZE, &min, &max);
printf("最小值: %d, 最大值: %d\n", min, max);
return 0;
}
// 寻找最大值和最小值的函数
void findMinMax(int arr[], int n, int* min, int* max) {
*min = arr[0]; // 初始假设第一个元素是最小的
*max = arr[0]; // 同理,初始假设第一个元素是最大的
for (int i = 1; i < n; i++) {
if (arr[i] > *max) {
*max = arr[i]; // 如果当前元素大于最大值,则更新最大值
}
if (arr[i] < *min) {
*min = arr[i]; // 如果当前元素小于最小值,则更新最小值
}
}
}
```
在这个例子中,我们首先假设数组的第一个元素是最小和最大的,然后遍历整个数组,如果遇到更大的数就更新`max`,如果遇到更小的数则更新`min`。遍历结束后,`min`和`max`就会指向数组中的最小值和最大值。
阅读全文