当前位置: 首页 > news >正文

邵阳市住房和城乡建设局网站开源网站源码下载

邵阳市住房和城乡建设局网站,开源网站源码下载,石家庄新闻综合频道在线直播观看,包头网站制作公司目录 一、题目要求 二、解题步骤 ①递归解法 思路 完整代码 ②循环解法 思路 完整代码 嗨大家好! 本篇博客中的这道例题,是我自己在一次考试中写错的一道题 这篇博客包含了这道题的几种解法,以及一些我自己对这道题的看法&#xff…

目录

一、题目要求

二、解题步骤

①递归解法

思路

完整代码

②循环解法

思路

完整代码


嗨大家好!

本篇博客中的这道例题,是我自己在一次考试中写错的一道题

这篇博客包含了这道题的几种解法,以及一些我自己对这道题的看法,希望能够帮到大家

一、题目要求

编写一个函数 reverse_string(char * string)

实现:将参数字符串中的字符反向排列,不是逆序打印。

要求:不能使用C函数库中的字符串操作函数。

比如:

char arr[] = "abcdef";

逆序之后数组的内容变成:fedcba

二、解题步骤

这道题分为两种实现方法:一是递归实现,二是循环实现

①递归解法

思路

对于字符串“abcdefg”,递归实现的大概原理:

  1. 交换a和g,

  2. 以递归的方式逆置源字符串的剩余部分,剩余部分可以看成一个有效的字符串,再以类似的方式逆置

完整代码

void reverse_string(char* arr)
{int len = strlen(arr);char tmp = *arr;*arr = *(arr+len-1);*(arr+len-1) = '\0';if(strlen(arr+1)>=2)reverse_string(arr+1);*(arr+len-1) = tmp;
}

②循环解法

思路

  1. 给两个指针,left放在字符串左侧,right放在最后一个有效字符位置

  2. 交换两个指针位置上的字符

  3. left指针往后走,right指针往前走,只要两个指针没有相遇,继续2,两个指针相遇后,逆置结束

完整代码

void reverse_string(char* arr)
{char *left = arr;char *right = arr+strlen(arr)-1;while(left<right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}

不难看出,循环写法理解起来比较容易,而递归写法虽然较难被想到,但整体会更简洁

对于刚入门的同学,多积累一种办法才是最重要的,学到后期再去考虑要用哪种更省内存、效率更高的写法

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

http://www.15wanjia.com/news/186769.html

相关文章:

  • 制作一个网站多少钱万网创始人与慧聪网
  • 长沙点梦网站建设为什么做游戏网站被封
  • 网站建设及服务招标公告网站收缩栏
  • wordpress制作网站步骤上市公司协会网站建设汇报
  • 开源 购物网站卢松松wordpress模板
  • 郑州龙华小学网站建设太突然我国突然宣布
  • 公司网站建设公司做网站推广电话
  • 网站美化工具微商城系统源码
  • 万网网站空间费郑州网站建设公司前景
  • 扁平图标网站企业概况的模板
  • 郑州网站开发小学网站怎么做
  • 药品行业做网站东莞快速排名
  • 徐州开发区中学网站网站建设系统网站自助建站系统
  • 杨浦网站建设徐州做企业网站
  • 佛山市三山新城建设局网站wordpress友链顺序
  • 铜川市网站建设东莞制作网站公司哪家好
  • 站长网站建设客源开发
  • 做中介卖房子开哪个网站网站维护是什么职业
  • 怎么看网站是否安装百度商桥代码设计网站导航大全
  • 如何查看 网站诊断徐州做网站哪家好
  • 网站下载服务器配置施工企业造价管理
  • 免费建国外网站京东代运营
  • 淘宝这种网站怎么做的建云科技网站首页
  • photoshop 做网站乡镇可以做门户网站
  • 通过一个站点的建设方案深圳龙华外国语学校
  • 上海网站建设 迈网站开发专员绩效考核
  • 长沙网站搭建上品设计公司
  • 建设部网站为什么打不开西安旅游网站开发
  • 申请学校网站建设申请书如何知道自己网站主机
  • 旅游网站建设流程是什么意思南宁网站开发gxjzdrj