本題要求使用遞迴演算法,設陣列為array,則遞迴陣列滿足以下條件。
(1)如果陣列長度為1,則該陣列為遞增,返回true。
(2)如果陣列長度為n(n >= 2),則先比較最後兩個元素是否遞增,如果最後兩個元素遞增,則再遞迴比較除去最後乙個元素的前 n-1 個元素是否遞增。
具體實現如下:
#include
bool isincrease(int arr,int len)
int main(int argc, const
char * argv) ;
int len = sizeof(arr)/sizeof(int);
if (isincrease(arr, len))
printf("arr是遞增陣列\n");
else
printf("arr不是遞增陣列\n");
return
0;}
用遞迴判斷陣列是否遞增
參考 注意 該方法巧妙的利用了,陣列的長度。遞迴傳參時縮小陣列的長度即改變了下標 include void judge int a,int n if n 1 if a n 1 a n 2 int main int len sizeof a sizeof a 0 judge a,len return0...
遞迴實現判斷陣列是否遞增
用遞迴實現判斷陣列是否遞增 如果陣列長度為1,則陣列為遞增,返回true.如果陣列長度為n,則先比較最後兩個元素是否遞增,如果最後兩個元素遞增,則再遞迴比較去掉最後乙個元素的最後兩個元素,如下 include bool isincrease int a,int n int main printf d...
判斷乙個陣列是否有序
一般來說,判斷乙個陣列或序列是正序,倒序還是亂序,需要我們將這個陣列完整的遍歷一遍後才能得出答案,它不像折半查詢那樣只處理少量的資料便能得出結論,因為一段包含成千上萬個元素的有序序列,哪怕將其中兩個元素的位置調換都能將這個序列變成亂序序列.如下面這段序列,只是數字8和9調換,就變成了亂序的.0,1,...