写出找到数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)的算法的java代码,并分析其最坏情况的时间复杂度。
时间: 2023-05-23 22:02:37 浏览: 91
算法的 Java 代码:
```java
public static void findMaxAndSecondMax(int[] A, int n) {
int max = A[0], secondMax = A[0];
for (int i = 1; i < n; i++) {
if (A[i] > max) {
secondMax = max;
max = A[i];
} else if (A[i] > secondMax) {
secondMax = A[i];
}
}
System.out.println("最大值:" + max + " 次最大值:" + secondMax);
}
```
最坏情况的时间复杂度为 O(n)。
相关问题
试用C语言写出求数组a[0~n]中最大值的递归程序
以下是用C语言写的递归程序,用于求数组a[0~n]中最大值:
```
#include <stdio.h>
int max(int a[], int n) {
if (n == 1) {
return a[0];
} else {
int m = max(a, n - 1);
return (a[n - 1] > m) ? a[n - 1] : m;
}
}
int main() {
int a[] = {5, 7, 3, 9, 2, 8, 4, 1, 6};
int n = sizeof(a) / sizeof(int);
printf("The maximum element in the array is %d\n", max(a, n));
return 0;
}
```
该程序中的 `max` 函数是递归函数,用于找出数组中的最大元素。如果数组中只有一个元素,则返回该元素;否则,递归调用 `max` 函数来找出前 n-1 个元素中的最大元素,并将其与第 n 个元素进行比较,返回较大的那个元素。在主函数中,我们定义了一个数组 `a`,并计算出其大小,然后调用 `max` 函数来找出数组中的最大元素,并输出结果。
用C语言写出在一个数组中找到最大值
可以使用以下代码来在一个数组中找到最大值:
```c
#include <stdio.h>
#define SIZE 5 // 数组大小
int main() {
int arr[SIZE] = {3, 7, 1, 8, 4}; // 定义数组并初始化
int max = arr[0]; // 假设第一个元素为最大值
// 遍历数组,找到最大值
for (int i = 1; i < SIZE; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("数组中的最大值为:%d\n", max);
return 0;
}
```
上述代码中,我们首先定义了一个大小为5的整型数组`arr`并初始化。然后,我们假设数组的第一个元素为最大值,遍历整个数组,通过比较每个元素和当前最大值的大小,不断更新最大值。最后,输出最大值即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)