Q:编写一个程序,从一个整数序列中找到最小的元素,并用递归方法实现。
#include<iostream>
using namespace std;
int getmin(int array[],int n) {
int val1,val2,val3;
if(n==1) return array[0];
if(n%2==0) {
val1=getmin(array,n/2);
val2=getmin(array+n/2,n/2);
if(val1<val2)
return val1;
else
return val2;
}
if(n%2!=0) {
val2=getmin(array,n/2);
val2=getmin(array+n/2+1,n/2);
val3=array[n/2];
if(val1<val2) {
if(val1<val3) return val1;
else return val3;
}
else {
if(val2<val3) return val2;
else return val3;
}
}
}
int main() {
int n;
cin>>n;
int array[100];
for(int i=0;i<n;i++)
cin>>array[i];
cout<<getmin(array,n);
return 0;
}
拥抱明天!
不给自己做枷锁去限制自己。
别让时代的悲哀,成为你人生的悲哀。

浙公网安备 33010602011771号