字符串循环左移
2016-05-01 14:33
357 查看
字符串循环左移:
给定一个字符串,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a','b'移动到字符串的尾部,得到新字符"cdefab",即字符串循环左移k位。
程序实现:
运行结果:
![](https://images2015.cnblogs.com/blog/897484/201605/897484-20160501143201941-1295175285.png)
转载请注明出处:
C++博客园:godfrey_88
http://www.cnblogs.com/gaobaoru-articles/
给定一个字符串,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a','b'移动到字符串的尾部,得到新字符"cdefab",即字符串循环左移k位。
程序实现:
/*************************************** FileName ReverseString.cpp Author : godfrey CreatedTime : 2016/5/1 ****************************************/ #include <iostream> #include <cstring> #include <stdio.h> #include <stdlib.h> using namespace std; void ReverseString(char* str,int from,int to){ char t; while(from < to){ t = str[from]; str[from++] = str[to]; str[to--] = t; } } void LeftRotateString(char* str,int n,int m){ m %= n; ReverseString(str,0,m-1); ReverseString(str,m,n-1); ReverseString(str,0,n-1); } int main() { char str[] = "abcdef"; cout<<str<<endl; LeftRotateString(str,strlen(str),2); cout<<"-------------LeftRotate 2----------"<<endl; cout<<str<<endl; return 0; }
运行结果:
![](https://images2015.cnblogs.com/blog/897484/201605/897484-20160501143201941-1295175285.png)
转载请注明出处:
C++博客园:godfrey_88
http://www.cnblogs.com/gaobaoru-articles/
相关文章推荐
- Linux内核学习总结
- HDU5239 Doom
- 【LeetCode】Number of 1 Bits 解题报告
- 博客第一天《喜欢劳动的人命运都不会差》
- 从自我学习到深层网络
- Analog linked list quiz
- 【Linux C王者归来】【第十四章】【进程间的通信】
- 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi CDOJ 1334 优先队列
- Linux内核分析总结
- HDU 5676 ztr loves lucky numbers
- ReactNative 入门与探索
- Hive 和 Hadoop 关系
- codeforces 660C Hard Process
- hdu 5678 ztr loves trees(求子树第k大 线段树套主席树)
- UVA 12544 - Beehives O(nm) 无向图最小环
- IOS安全学记资料汇总
- linux小记:查看dd进度
- Bad version number in .class file的解决方法
- 2016 UESTC Training for Data Structures I - 郭大侠与线上游戏 CDOJ 1339 pb_ds黑科技
- Vawio Sequence