思路分析:
遞歸嘛之前數組求和已經見識到了,就是自己調用自己嘛。但是,這里一定要注意一點,凡是要求用“遞歸算法”的,你在遞歸之前一定要先分類討論,判斷一下當前條件是否允許遞歸,比如一個數組長度就是1,你用遞歸去判斷它里面的某兩個元素的大小,這就要出Bug了。還有既然遞歸的目的是判斷,那要寫的遞歸函數就是個bool類型的。最最重要的是,數組操作一定要注意下標越界問題,數組下標只能在0到數組長度減1之間的。
代碼如下:
// 1314.cpp : 定義控制台應用程序的入口點。 // #include "stdafx.h" void Judge(int *a, int n) { if (n == 1){ printf("遞增"); } if (n != 1) { if (a[n-1] >= a[n - 2]){ Judge(a, n - 1); } if (a[n-1] < a[n - 2]){ printf("非遞增"); } } } int _tmain(int argc, _TCHAR* argv[]) { int a[] = {1,2,3,3,4,5}; int len = sizeof(a) / sizeof(a[0]); Judge(a, len); getchar(); return 0; }
效果如圖: