使用C/C++实现对字符串的反转(递归和非递归)
来源:互联网 发布:java 验证身份证 编辑:程序博客网 时间:2024/06/08 14:10
- 这是非递归的:
- /*实现字符串翻转*/
- char* reverse_str(char* str)
- {
- if(NULL == str) //字符串为空直接返回
- {
- return str;
- }
- char *begin;
- char *end;
- begin = end = str;
- while(*end != '\0') //end指向字符串的末尾
- {
- end++;
- }
- --end;
- char temp;
- while(begin < end) //交换两个字符
- {
- temp = *begin;
- *begin = *end;
- *end = temp;
- begin++;
- end--;
- }
- return str; //返回结果
- }
- void main()
- {
- char str[] = "123456";
- printf(reverse_str(str));
- }
递归的:
char *reverse(char *str)
{
int len = strlen(str);
if( len > 1 )
{
char ctemp =str[0] ;
str[0] = str[len-1];
str[len-1] = '\0';
reverse(str+1);
str[len-1] =ctemp;
}
return str;
}
{
int len = strlen(str);
if( len > 1 )
{
char ctemp =str[0] ;
str[0] = str[len-1];
str[len-1] = '\0';
reverse(str+1);
str[len-1] =ctemp;
}
return str;
}
- 使用C/C++实现对字符串的反转(递归和非递归)
- C语言递归和非递归实现字符串反转
- C语言递归和非递归实现字符串反转函数char *reverse(char *str)
- 使用单链表反转的递归和非递归实现方式
- C/C++面试程序题(一)——字符串反转、链表反转的递归、非递归实现
- c语言递归实现字符串反转
- (C语言)递归实现字符串反转
- 折半查找的递归和非递归实现(C++)
- 二叉树的反转,递归实现和非递归实现。
- 链表反转的递归和非递归实现方式
- 链表反转的递归和非递归实现方式
- C语言非递归实现字符串逆转
- 使用递归实现字符串的反转
- 使用递归实现字符串反转
- 插入排序c递归实现和非递归实现
- 二分查找算法递归和非递归实现(C++)
- C语言:递归和非递归实现二分查找
- 递归和非递归分别实现strlen(C语言)
- Box2D C++ tutorials - Buoyancy
- 06.面向对象(三)【异常】【包】【多线程】
- 07.【String类】【StringBuffer】【StringBuilder】
- 获得WINDOWS下所有用户的信息
- 个人信用报告今起可上网查询
- 使用C/C++实现对字符串的反转(递归和非递归)
- js 转大写
- Linux文件系统(二)-为仁由己
- C# 中使用SqlParameter来防止sql注入
- 配置OGG到MYSQL复制时登陆MYSQL报错解决
- 解决Centos 6使用svn时本地使用明文密码的问题,保存密文密码
- MFC让组合框有下拉列表菜单的功能
- HTTP协议 (六) 状态码详解
- redis配置文件详解