字符串处理算法(三)按指定位置交换字符串两部分的位置

来源:互联网 发布:怎么在淘宝搜高仿lv 编辑:程序博客网 时间:2024/06/06 02:39
实现一个函数:按指定位置交换字符串两部分的位置

比如:函数输入("abcde", 2) 输出"cdeab"


题目的意思应该比较明白,代码实现如下:

int SwapStr(char* input, int pos){char* p = input+pos;int nLen = strlen(input);//对输入数据检查if (input==NULL || nLen<pos){return -1;}char* temp= new char[pos+1];if (temp == NULL) return -1;memcpy(temp, input, pos);temp[pos]='\0';memcpy(input, p, nLen-pos);memcpy(input+nLen-pos, temp, pos);delete[] temp;temp = NULL;return 0;}
int main(){char* str=new char[10];//想想这里为什么不是char* str="abcde";或者直接SwapStr("abcde",2);strcpy(str, "abcde");cout << str << endl;SwapStr(str, 2);cout << str << endl;delete[] str;return 0;}

测试结果:

abcde
cdeab


转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12067631





原创粉丝点击