您的位置:首页 > 职场人生

字符串循环右移(一道面试题的代码实现)

2013-04-17 20:21 337 查看
#include <stdio.h>

void revStr(char* arr, const size_t N ){

for(int i=0;i<N/2;i++){

char tmp = arr[i];

arr[i]=arr[N-1-i];

arr[N-1-i]=tmp;

}

}

void moveStr(char* arr, const size_t N, const size_t K){

int k=K%N;

if (k<1) return;

revStr(arr, k);

revStr(&arr[k], N-k);

revStr(arr, N);

}

int main(){

char str[12]={'a','b','c','d','e','f','g','h','i','j','k','l'};

int size = 12,i=0;

while(size--)

printf("%c",str[i++]);

printf("\n");

moveStr(str,12,5);

size = 12,i=0;

while(size--)

printf("%c",str[i++]);

getchar();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: