如何用遞歸算法判斷一個數組是否是遞增


思路分析:

遞歸嘛之前數組求和已經見識到了,就是自己調用自己嘛。但是,這里一定要注意一點,凡是要求用“遞歸算法”的,你在遞歸之前一定要先分類討論,判斷一下當前條件是否允許遞歸,比如一個數組長度就是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;
}

  效果如圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM