用递归法实现字符串反转,字符逆序输出递归

  用递归法实现字符串反转,字符逆序输出递归

  文章目录前言一、左右指针(非递归实现)1.引入代码二、使用指针解决(递归)1.引入代码三、数组左右指针(递归实现)总结前言之前我遇到这个题也是没有思路,但是在博客中找,也没有找到自己想要的方法,现在我懂了三种方法,接下来依次写出来

  注意题目要求(反向排列不是逆序打印)

  题目如下

  一、左右指针(非递归实现)

  1.引入代码#define _CRT_SECURE_NO_WARNINGS

  #包含标准视频

  void print(char arr[],int sz)

  {

  for(int I=0;我SZ;我)

  {

  printf(%c ,arr[I]);

  }

  printf( \ n );

  }

  void Swap(char arr[],int sz) {

  int left=0;

  int right=SZ-1;

  而(左=右)

  {

  char tmp=arr[left];

  arr[left]=arr[right];

  arr[right]=tmp;

  左;

  右-;

  }

  }

  int main() {

  char arr[]= abcdefg ;

  int SZ=strlen(arr);

  Swap(arr,SZ);

  打印(arr,SZ);

  返回0;

  }

  二、使用指针解决(递归)

  1.引入代码#define _CRT_SECURE_NO_WARNINGS

  #包含标准视频

  void print(char arr[],int sz)

  {

  for(int I=0;我SZ;我)

  {

  printf(%c ,arr[I]);

  }

  printf( \ n );

  }

  //求字符串长度

  int my_strlen(char* str) {

  int count=0;

  while (*(str)!=\0)

  {

  数数;

  潜艇用热中子反应堆(submarine thermal reactor的缩写)

  }

  返回计数;

  }

  void reverse_string(char* str)

  {

  char tmp=* str

  int SZ=my _ strlen(str);

  * str=*(str SZ-1);

  *(str SZ-1)= \ 0 ;

  如果(sz=2)

  reverse _ string(str 1);

  *(str SZ-1)=tmp;

  }

  int main() {

  char arr[]= abcdefg ;

  int SZ=my _ strlen(arr);

  反向字符串(数组);

  打印(arr,SZ);

  返回0;

  }

  三、数组左右指针(递归实现)第三种方法和第一种相似

  但是需要对传入的参数进行参加

  看代码

  #define _CRT_SECURE_NO_WARNINGS

  #包含标准视频

  void print(char arr[],int sz)

  {

  for(int I=0;我SZ;我)

  {

  printf(%c ,arr[I]);

  }

  printf( \ n );

  }

  //求字符串长度

  int my_strlen(char* str) {

  int count=0;

  while (*(str)!=\0)

  {

  数数;

  潜艇用热中子反应堆(submarine thermal reactor的缩写)

  }

  返回计数;

  }

  void reverse_string(char arr[],int left,int right)

  {

  char tmp=arr[left];

  arr[left]=arr[right];

  arr[right]=tmp;

  如果(左=右)

  reverse_string(arr左1,右-1);

  }

  int main() {

  char arr[]= abcdefg ;

  int SZ=my _ strlen(arr);

  reverse_string(arr,0,SZ-1);

  打印(arr,SZ);

  返回0;

  }

  总结例如:以上就是今天要讲的内容,本文仅仅简单介绍了关于字符串逆序的递归和非递归方法,有问题可以评论留言哦!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: