左旋(右旋)字符串
2016-05-08 21:37
344 查看
实现将一个字符串左旋k个;
例abcdefg左旋3个得到defgabc;
例abcdefg左旋3个得到defgabc;
#include<stdio.h> #include<assert.h> char* turn(char *str, int k)//逆序函数 { char *pleft = str; char *pright = str + k - 1; assert(str); while (pleft < pright) { char *tmp; tmp = *pleft; *pleft = *(pright); *(pright) = tmp; pleft++; pright--; } return str; } void lefturn(char *str, int k) { turn(str, k);//先逆序前k个 abcdefg -> dcba efg turn(str + k, strlen(str) - k);//再逆序后面的 dcba efg ->dcba gfe turn(str, strlen(str));//字符串全部逆序 dcba gfe->efg abcd } int main() { char str[] = { "abcdefg" }; lefturn(str, 3); printf("%s\n", str); system("pause"); return 0; }
相关文章推荐
- mysql使用distinct注意事项
- 为什么我们给父母的耐心总是那么少?
- 十 传感器
- 解决:java.sql.SQLException: 不能在 UTF8 和 UCS2 之间转换: failUTF8Conv
- location.hash的用法及onhashchange (精华,建议大家没事读一下)
- 魅族MX3 smart bar处失灵
- 20145101《Java程序设计》第10周学习总结
- 20150325--Redis-01
- 机器学习 —— 概率图模型(Homework: CRF Learning)
- 20145317彭垚 《Java程序设计》第五次实验报告
- java四种位运算
- 计算机网络的ip数据报首部各字段
- 80.JAVA编程思想——复杂性理论
- 使用 Log4j 的 NDC/MDC 改进日志
- 同余问题
- 27.连续子数组的最大和
- 20145105 《Java程序设计》第10周学习总结
- 20145317彭垚 《Java程序设计》第10周学习总结
- ISA TEST黑客过关小游戏第四关解密
- 一秒理解大端小端