<分区>
我需要使用递归找到数组中最小字符串的下标,如果数组没有要检查的元素,则返回 -1。 到目前为止,这是我想到的,但它不起作用。
int leastElement(string a[], int n)
{
if(n == 1)
return 0;
if(a[0] > a[n])
a[0] = a[n];
return leastElement(a, n-1);
}
<分区>
我需要使用递归找到数组中最小字符串的下标,如果数组没有要检查的元素,则返回 -1。 到目前为止,这是我想到的,但它不起作用。
int leastElement(string a[], int n)
{
if(n == 1)
return 0;
if(a[0] > a[n])
a[0] = a[n];
return leastElement(a, n-1);
}
最佳答案
int leastElement(string a[], int n)
{
if (n <= 0) {
return -1;
}
if (n == 1) {
return 0;
}
int k = 1 + leastElement(a + 1, n - 1);
if (a[0] < a[k]) {
return 0;
} else {
return k;
}
}
关于C++递归查找字符串数组中的最小元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29998662/