【数据结构】空间使用

问题:打印从1~N的数。
循环写法:

#include <iostream>
void printN(int n);

int main(){
    int n;
    std::cin>>n;
    printN(n);
    return 0;
}

void printN(int n){//递归写法
    for(int i=1;i<=n;i++)
        std::cout<<i<<" ";
}

递归写法:

#include <iostream>
void printN(int n);

int main(){
    int n;
    std::cin>>n;
    printN(n);
    return 0;
}

void printN(int n){//递归写法
    if(n){
        printN(n-1);
        std::cout<<n<<" ";

    }
    else return;
    
}

当N很大的时候,用递归写法可能直接就爆掉了。递归写法更符合人类的思维方式,代码也更容易懂。但不适合计算机来处理。

posted @ 2020-02-12 21:44  Maxwell'Maxwill  阅读(133)  评论(0编辑  收藏  举报