用c++语言编写一个函数模板findmin(...),实现对一个基本类型数组中元素最小值的查找,能够返回最小值,以及得到最小值的数组下标
时间: 2024-02-15 10:01:28 浏览: 90
C语言获取找出数组中的最小值
好的,可以使用C++语言编写一个函数模板findmin,实现对一个基本类型数组中元素最小值的查找,并返回最小值以及最小值的下标。以下是一个实现示例:
```c++
#include <iostream>
using namespace std;
template <typename T>
void findmin(T* arr, int size, T& minvalue, int& minindex)
{
if (size <= 0) {
cout << "数组为空" << endl;
return;
}
minvalue = arr[0];
minindex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < minvalue) {
minvalue = arr[i];
minindex = i;
}
}
}
int main()
{
int arr[] = { 5, 9, 3, 7, 2 };
int size = sizeof(arr) / sizeof(arr[0]);
int minvalue, minindex;
findmin(arr, size, minvalue, minindex);
cout << "最小值为:" << minvalue << endl;
cout << "最小值的下标为:" << minindex << endl;
return 0;
}
```
在这个示例中,我们使用模板参数T来表示数组元素的类型,使用指针来传递数组参数。我们首先判断数组是否为空,然后遍历数组,查找最小值并记录其下标。最后将最小值和最小值的下标通过引用参数返回。
阅读全文