字符串反转C++实现源码(带测试用例)
来源:互联网 发布:中怡康家电市场数据 编辑:程序博客网 时间:2024/06/08 12:29
将字符串字符顺序反转:
#include <iostream>using namespace std;void Reverse( char *pBegin, char *pEnd ){if( pBegin == NULL || pEnd == NULL )return;while( pBegin < pEnd ){char tmp = *pBegin;*pBegin = *pEnd;*pEnd = tmp;pBegin++, pEnd--;}}void Test( char *testName, char *input, char *expectedResult ){if( testName != NULL)cout << testName << " begins: " << endl;if( input == NULL )return;char *pBegin = input;char *pEnd = input; //暂时while( *pEnd != '\0' )pEnd++;//pEnd此时已经指向'\0'了,退一个,指向最后一个字母pEnd--;//另外一种方法得到pEnd//pEnd = pEnd + strlen(input) - 1;cout << "反转前:" << input << endl;Reverse( pBegin, pEnd );cout << "反转后:" << input << endl;if( (input == NULL && expectedResult == NULL)|| (input != NULL && strcmp(input, expectedResult) == 0) )cout << "通过!" << endl;elsecout << "失败!" << endl;}void TestReverse0(){//char input[] = "lfz";char expected[] = "zfl";Test( "One word", input, expected );}void TestReverse1(){char input[] = "";char expected[] = "";Test( "Empty", input, expected );}void TestReverse2(){Test( "NULL", NULL, NULL );}void TestReverse3(){char input[] = "i am a student.";char expected[] = ".tneduts a ma i";Test( "A sentence", input, expected );}void TestReverse4(){char input[] = " ";char expected[] = " ";Test( "One Blanks", input, expected );}void TestReverse5(){char input[] = " ";char expected[] = " ";Test( "Three Blanks", input, expected );}void main(){//TestReverse0();TestReverse1();TestReverse2();TestReverse3();TestReverse4();TestReverse5();system( "PAUSE");}
参考了《剑指Offer》中的实现。
- 字符串反转C++实现源码(带测试用例)
- c 实现字符串反转(参考redis源码)
- (C语言)递归实现字符串反转
- C语言实现字符串反转
- 带格式字符串反转
- 带格式字符串反转
- 带格式字符串反转
- C语言实现字符串反转程序
- C语言字符串反转的实现
- c语言递归实现字符串反转
- C语言指针实现字符串的反转
- 用Python实现字符串反转
- 用递归实现字符串反转
- 字符串反转(java实现)
- 字符串反转(reverse实现)
- 字符串反转源码
- 字符串反转(C/C++)
- 用递归求阶层和字符串反转(c#)
- Linux MTD&Nand Driver
- avast 8.0.1483 许可文件(杀毒软件免费激活)
- The Biggest Changes in C++11 (and Why You Should Care)
- 查找算法总结
- Uboot的使用(一)
- 字符串反转C++实现源码(带测试用例)
- 关于VC编译错误fatal error C1083的解决办法
- Objective-C 03
- 车辆检测器
- linux下tar版mysql安装步骤
- TNS-01106: Message 1106 not found; No message file for product=network, facility=TNS
- 操作系统基本概念
- 温度场有限容积法程序入门之四:网格剖分.边界条件设置.迭代.导出后处理数据
- 移植bootloader到2440中遇到的问题