C++程序 在数组中查找最小和最大元素
给定一个数组,编写函数来找到其中的最小和最大元素。
例子:
//C ++程序查找最小值(或最大值)
//在数组中。
#include
using namespace std;
int getMin(int arr [],int n)
{
int res = arr [0];
for(int i = 1; i
**输出:**
```cpp
数组中的最小元素:1
数组中的最大元素:1234
时间复杂度 : O(n)
辅助空间 : O(1),因为没有使用额外空间。
递归解决方案
例子:
// C ++程序查找
// in an array.
# include
using namespace std;
int getMin(int arr [],int n)
{
//如果只有一个元素,请返回它。
//否则返回第一个元素的最小值和
//剩余数组的最小值。
返回(n == 1)?arr [0]:min(arr [0],
getMin(arr + 1,n-1));
}
int getMax(int arr [],int n)
{
//如果只有一个元素,请返回它。
//否则返回第一个元素的最大值和
//剩余数组的最大值。
返回(n == 1)?arr [0]:max(arr [0],
getMax(arr + 1,n-1));
}
int main()
{
int arr [] = {12,1234,45,67,1};
int n = sizeof(arr)/ sizeof(arr [0]);
cout <<“数组中的最小元素:”<<
getMin(arr,n)<<“”;
cout <<“数组中的最大元素:”<<
getMax(arr,n);
返回0;
}
输出:
数组的最小值:1
数组的最大值:1234
时间复杂度 : O(n)
辅助空间 : O(n),因为由于递归使用了隐式堆栈。
使用库函数:
我们可以使用min_element()和max_element()来查找数组的最小值和最大值。
例子:
//C ++程序查找最小(或最大)元素
//在数组中。
# include
using namespace std;
int getMin(int arr [],int n)
{
return *min_element(arr,arr + n);
}
int getMax(int arr [],int n)
{
return *max_element(arr,arr + n);
}
int main()
{
int arr [] = {12,1234,45,67,1};
int n = sizeof(arr)/ sizeof(arr [0]);
cout <<“数组中的最小元素:”<< getMin(arr,n)<<“”;
cout <<“数组中的最大元素:”<< getMax(arr,n);
返回0;
}
输出:
数组中的最小元素:1
数组中的最大元素:1234
时间复杂度 : O(n)
辅助空间 : O(1),因为没有使用额外空间。