博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈递归之蛋疼
阅读量:6692 次
发布时间:2019-06-25

本文共 1043 字,大约阅读时间需要 3 分钟。

最近太闲,把递归的东西整理一下。

先从最简单的字符串处理函数来看看递归函数,只追求思想,不求代码质量,虽然这些东西用递归写很蛋疼,

eg1.int strLen(char* str);

求字符串长度,代码如下,装逼专用

int strLen(char* str){

  return (*str == '\0')?0:(1 + strLen(++str));

}

eg2.void strCp(char* src, char* dest);

字符串复制

void strCp(char* src, char* dest){

  if(*src == '\0'){
    *dest = *src;
    return;
  }else{
    *dest = *src;
    dest++;
    src++;
    strCp(src, dest);
  }
}

eg3.bool strStr(char* str1, char* str2);

检查str2是否为str1的子串,这个也真够蛋疼的,哈哈

bool strStr(char* str1, char* str2){

  if(*str2 == '\0')
    return true;
  if(*str1 == '\0'){
    return false;
  }else{
    if(*str1 == *str2){
      char* p1 = str1 + 1;
      char* p2 = str2 + 1;
      return strStr(p1, p2);
    }else{
      str1++;
      return strStr(str1, str2);
    }
  }
}

好像没有其他的字符串处理函数了,想起来再补充。

补充个hanoi塔的递归

void hanoi(int n, char a, char b, char c){

  if(n==1){

    cout << n <<":"<<a<<"->"<<c<<endl;

  }else{

    hanoi(n-1,a,c,b);

    cout << n <<":"<<a<<"->"<<c<<endl;

    hanoi(n-1,b,a,c);

  }

}

转载于:https://www.cnblogs.com/yangxiaoluck/p/3730835.html

你可能感兴趣的文章
【Python 数据分析】jieba文本挖掘
查看>>
[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
查看>>
WPF仿百度Echarts人口迁移图
查看>>
XamlReader动态使用xaml
查看>>
springcloud9----feign-client-without-hystrix
查看>>
关于redis连接池
查看>>
C#多线程
查看>>
ASP.NET MVC Filters 4种默认过滤器的使用【附示例】 数据库常见死锁原因及处理 .NET源码中的链表 多线程下C#如何保证线程安全? .net实现支付宝在线支付 彻头彻尾理...
查看>>
线程等待 Join()方法
查看>>
解决“当前扩展缓存策略没有进行注册”的错误
查看>>
laravel博客后台操作步骤
查看>>
佛家经典语录
查看>>
《React Native 精解与实战》书籍连载「Node.js 简介与 React Native 开发环境配置」...
查看>>
Zabbix系统中的历史数据和趋势数据
查看>>
Maven中基于POM.xml的Profile来动态切换配置信息
查看>>
Easyloggingpp的使用
查看>>
java十五个常用类学习及方法举例
查看>>
Jvm(36),class文件结构----访问标志
查看>>
服务高可用:幂等性设计
查看>>
ant 重置(修改)DatePicker MonthPicker Cascader 的值
查看>>