给定一个字符串实现对字符串左移或右移指定长度

来源:互联网 发布:人员管理系统 java 编辑:程序博客网 时间:2024/06/07 01:55

给定一个字符串S[0,1,...,N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a','b'移动到字符串的尾部,得到新字符串“cdefab”;即字符串循环左移k


#include <iostream>#include <stdio.h>using namespace std;void Sift(char* sdata,int size,int snum,int shiftType){switch (shiftType){case 0://表示左移      {for(int i=0;i<snum;i++){char temp=sdata[size-1];for(int j=size-1;j>0;j--){sdata[j]=sdata[j-1];}sdata[0]=temp;}   break;    }case 1:{for(int i=0;i<snum;i++){char temp=sdata[0];for(int j=0;j<size-1;j++){sdata[j]=sdata[j+1];}sdata[size-1]=temp;}break;}}}int main(int argc,char* argv[]){char testData[]={"JulyEdu"};printf("%s\n",testData);Sift(testData,7,2,0);printf("左移%s\n",testData);char testData1[]={"JulyEdu"};printf("%s\n",testData1);Sift(testData1,7,2,1);printf("右移%s\n",testData1);}


0 0
原创粉丝点击