对递归的理解(可以逆向解决一些问题)

        递归即调用函数本身,传递到递归的基本情况后停止开始归。于是可以用来解决一些需要逆向才能解决的问题,比如说:“整数转二进制”,“逆序输出字符串”等等。

整数转二进制

        整数转二进制就是对2不断取余,把每次得到的余数逆序排列就是其对应的二进制。用递归的话就可以先把 n 除到 0 为止然后开始归并。今天做题突然顿悟的是 convert(n/2); 这一步做到底以后(即 n == 0 )return才会返回继续执行 cout<

#include
using namespace std;
void convert(int n)
{
    if(n==0) return;
    else
    {
        convert(n/2);
        cout<>n;
    convert(n);
    return 0;
}

逆序输出字符串

同理,逆序输出字符串只要调试输出语句在函数中的为止即可,一目了然,代码如下:

#include
#include
using namespace std;
void output(char a[],int len)
{
    cout<

你可能感兴趣的:(c++,算法)