用递归算法判断数组a[N]是否为一个递增数组。 递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束:
<pre name="code" class="cpp">#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; bool IsIncrementalArray(int a[],int n) { if(n==1) { return true; } int currentMax=a[n-1]; if(currentMax>a[n-2]) { IsIncrementalArray(a,n-1); } else { return false; } } bool IsIncrementalArray2(int a[],int n) { if(n==1) { return true; } int currentMax=a[0]; if(a[1]>a[0]) { IsIncrementalArray(a+1,n-1); } else { return false; } } int main(void) { int a[] = {2,3,4,5,6,7,8,6}; if(IsIncrementalArray(a,sizeof(a)/sizeof(a[0]))) { cout<<"true"<<endl; } else { cout<<"false"<<endl; } return 0; }
</pre><pre id="best-answer-content" class="reply-text mb10" name="code" style="white-space: pre-wrap; word-wrap: break-word; font-size: 14.399999618530273px; line-height: 26px; background-color: rgb(255, 255, 255);">