C++实现字符串反转
来源:互联网 发布:索隆 知乎 编辑:程序博客网 时间:2024/06/05 04:32
/**** reversestr.cpp** 实现字符串反转** 如输入是 You are a lucky dog ! 输出是 !dog lucky a are You*/#include<iostream>#include<string.h>using namespace std;void reversestr(char *start,char *end);int main(){ char *temp; char *start; char *end; const char *str = "You are a lucky dog !"; char *s = new char[strlen(str)](); strcpy(s,str); //首先反转整个字符串; reversestr(s,s+strlen(str)-1); temp = s; //start 指向子串的最后一个字符; start = temp; //接下来反转各个单词; //循环判断条件可以直接写作,while(*temp){//具体内部语句相同} while(*temp!='\0') { if(*temp!=' ') { } else if(*temp==' ') { //满足该else if 条件,则说明当前temp 指向最靠近上一个单词的“空格字符” //end 指向子串的最后一个字符; end = temp - 1; reversestr(start,end); //更新start指针,使它始终指向子串的第一个字符; start = temp + 1; } ++temp; } //循环结束之后,temp 指向整个字符串的结束标志'\0' //将temp减1,使其指向整个字符串的有效字符的最后一个; end = temp - 1; reversestr(start,end); //循环判断条件可以直接写作,while(*s){//具体内部语句相同} while(*s!='\0') { cout<<*s; ++s; } cout<<endl; system("pause"); return 0;}/** 实现字符串的反转操作* 初始,start指向字符串第一个字符;* 初始,end指向字符串最后一个字符;*/void reversestr(char *start,char *end){ char temp; while(start<end) { temp = *start; *start++ = *end; *end-- = temp; }}
0 0
- C语言实现字符串反转
- C语言实现字符串反转程序
- C语言字符串反转的实现
- c语言递归实现字符串反转
- (C语言)递归实现字符串反转
- C语言指针实现字符串的反转
- c 实现字符串反转(参考redis源码)
- 字符串反转(C/C++)
- C语言来实现字符串反转(只有单词反转,单词里的字母不反转)
- C语言来实现字符串反转 只有单词顺序反转,单词里的字母不反转
- 反转字符串----(c#)
- C字符串反转算法
- (C#)字符串反转
- C语言字符串反转
- 字符串反转reverse.c
- C 字符串反转
- 字符串反转(C语言)
- C语言字符串反转
- java利用递归解决八皇后问题
- Android在Activity中启动一个新进程报错:Can't create handler inside thread that has not called Looper.prepare()。
- 对照Java学习Swift--属性 (Properties)
- JNI 实战全面解析
- JAVA中运算符
- C++实现字符串反转
- hdu 2112 HDU Today
- DDOS反攻击措施
- Java自定义协议报文封装 添加Crc32校验
- 内联函数和宏定义的区别
- 4.30
- xUtils开源库导入AS失败,换成导入xUtils3开源库
- HTML5移动端meta标签中viewpoint简介
- Android 网络请求方法