(在c编程中) 如果你不介意,我还有另一个索引问题。
我使用此函数来查找整数数组中的最大数字:
int Find_max(int *array,int n){
if(n==1) return array[0];
int num1=Find_max(array,n/2);
int num2=Find_max(array+n/2,n-n/2);
if(num1>num2) return num1;
return num2;
}
如何获取我找到的数字的索引?我不允许使用任何类型的循环。
答案 0 :(得分:4)
几乎相同的代码(样式保留):
int Find_max_index(int *array,int n){
if(n==1) return 0;
int index1=Find_max_index(array,n/2);
int index2=n/2+Find_max_index(array+n/2,n-n/2);
if(array[index1]>array[index2]) return index1;
return index2;
}