【C语言】编写函数实现字符串旋转
2015-07-04 09:29
411 查看
//编写函数实现字符串旋转 #include <stdio.h> #include <assert.h> #include <string.h> void reverse(char *left, char *right) { char temp; assert(left); assert(right); while (right > left) { temp = *left; *left = *right; *right = temp; left++; right--; } } char *rotate(char *src, int n) { int len = strlen(src); assert(src); reverse(src, src + n-1); reverse(src + n, src+len-1); reverse(src, src + len - 1); return src; } int main() { char p[] = "abcdef"; printf("%s\n", rotate(p, 2)); return 0; }
相关文章推荐
- [C语言】模拟实现库函数strstr,查找子字符串
- 【C语言】判断一个字符串是否是一个字符串的旋转字符串
- 【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
- 单循环链表的约瑟夫问题(C++)
- C++可变参数
- C语言 基础60题(3)
- C语言文件操作函数大全
- c++异常处理,,,同时处理除数为0以及开根号内部不能小于0
- 【C++ Primer Plus学习笔记】第二章:一个函数的基本的组成
- 什么时候用C而不用C++?
- C++可调用对象适配器和绑定器
- 双向链表的C++实现
- 【学习笔记】【C语言】文件的包含
- 漂亮的C++控制台界面(格式化输入输出)
- 黑马程序员---C语言基础---函数、参数、返回值
- C++实现栈的链接存储
- C++实现顺序栈之两栈共享存储空间
- 多线程(C++)临界区Critical Sections问题
- C++中构造函数初始化列表为什么会比构造函数中赋值要高效
- 约瑟夫问题:有n个人围成一圈,顺序报数(1~3),报到3退出