Trick(三)——循环左移的实现
2016-03-20 23:08
274 查看
循环左移(ROL,Ring Shift Left)可用于字符串的旋转当中。
abcdef ⇒ defabc
可看做整个字符串循环左移三位;
abcdef ⇒ defabc
可看做整个字符串循环左移三位;
// 循环左移1位,作为左移 k 位的辅助函数 // n 标识字符串的长度 void ROL1(char* s, int n) { char t = s[0]; for (int i = 1; i < n; ++i) s[i-1] = s[i]; s[n-1] = t; } // 循环左移 k 位 void ROLK(char* s, int n, int k) { while (k--) ROL1(s, n); }
相关文章推荐
- 欢迎使用CSDN-markdown编辑器
- 获取类的属性、方法等
- 问题 D: C语言习题 字符串比较
- Linux内核分析四:系统调用
- 关于APP分层简单框架思路
- 高德地图API INVALID_USER_SCODE问题以及keystore问题
- 问题 C: C语言习题 字符串长度
- JQuery遍历元素的后代和同胞
- ectouch笔记
- CentOS下yum安装MySQL
- JS学习总结
- 第一次做二级联动,没有用到对象与二维数组(笨方法,思路简单)
- QQ也可以和微信一样只能共同好友见评论
- python中的协程学习
- 《Linux内核分析》 第四节 扒开系统调用的三层皮(上)
- SwingWeb
- Retrofit2的简单应用与封装
- Java学习笔记-虚拟机类加载机制
- Retrofit2的简单应用与封装
- 问题 B: 复制字符串