首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

每日一算法(字符串后移)

2012-09-22 
每天一算法(字符串后移)#includestdlib.h#includestring#includeiostreamusing namespace std//将

每天一算法(字符串后移)
#include<stdlib.h>#include<string>#include<iostream>using namespace std;//将字符串中从指针begin处到指针end处进行反转void Reverse(char *begin,char *end){if(NULL == begin || NULL == end)return ;while(begin < end){char x = *begin;*begin = *end;*end = x;begin ++;end --;}}//把字符串前面的n个字符移动到字符串的尾部。void MoveToEnd(char *begin,const int n){if(NULL == begin)return ;int Length = strlen(begin);//字符数组的长度if((n > Length ) || 0 == n)return;else{char *FirstBegin = begin;char *FirstEnd = begin + n - 1;char *SecondBegin = begin +n;char *SecondEnd = begin + Length - 1;Reverse(FirstBegin,FirstEnd);Reverse(SecondBegin,SecondEnd);Reverse(FirstBegin,SecondEnd);}}int main(){char a[] = "abcdef";MoveToEnd(a,2);cout<<a;return 0;}

热点排行