循环和递归的区别
對于遞歸和循環(huán)相比較
遞歸的代碼比較簡潔,容易讓別人理解,也容易讓自己理解,但是占用的空間非常大,有的時(shí)候在實(shí)現(xiàn)功能時(shí),把所能用的空間全都用掉,可能還不夠,此時(shí)就會(huì)崩潰,而不進(jìn)行任何操作,計(jì)算機(jī)不一定愿意去實(shí)現(xiàn),而且循環(huán)和遞歸實(shí)現(xiàn)同一功能時(shí)所用時(shí)間基本是沒有什么差別的.
解決問題方法的效率跟空間的利用效率有關(guān)
//遞歸法
#include <stdio.h>
#include <stdlib.h>
void PrintN(int N);
int main()
{int N;scanf("%d",&N);PrintN(N);return 0;
}
void PrintN(int N)
{if(N){PrintN(N-1);printf("%d\n",N);}return 0;
}
//循環(huán)法
#include <stdio.h>
#include <stdlib.h>
void PrintN(int N);
int main()
{int N;scanf("%d",&N);PrintN(N);return 0;
}
void PrintN(int N)
{int i;for(i=1;i<=N;i++){printf("%d\n",i);}return 0;
}
總結(jié)
- 上一篇: 爱奇艺里的家有儿女初成长观看顺序是怎样的
- 下一篇: javascript的Math对象和全局