C语言三种方法实现字符串右旋
来源:互联网 发布:百度小号批发淘宝 编辑:程序博客网 时间:2024/06/05 07:36
方法一:三步旋转法
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h> //三步旋转法void filp(char *left, char *right){assert(left);assert(right);while (left<right){char temp = *left;*left = *right;*right = temp;left++;right--;}}void RightHand(char *str, int len){assert(str);int num = strlen(str);filp(str, str + num - len - 1); //edcbafjfilp(str + num - len, str + num - 1); //edcbajffilp(str, str + num - 1); //fjabcde}int main(){char a[] = "abcdefj";RightHand(a, 2);printf("%s\n", a);system("pause");return 0;}
方法二:移项法
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h> //移项法void RightHand(char *str, int len){assert(str);int i = 0;int num = 0;char temp = 0;for (i = 0; i < len; i++){num = strlen(str);num--;temp = str[num];while (num>0){str[num] = str[num - 1];num--;}str[num] = temp;}}int main(){char a[] = "abcdefj";RightHand(a, 2);printf("%s\n", a);system("pause");return 0;}
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h> //方法三:进行开辟双倍字符串空间void RightHand(char *str, int len){assert(str);assert(len > 0);char *Buff = NULL;char *start_Buff = Buff;int num = strlen(str);Buff = (char*)malloc(2 * num + 1);strcpy(Buff, str);strcat(Buff, str);strncpy(str, Buff + num-len, num);}int main(){char a[] = "abcdefj";RightHand(a, 2);printf("%s\n", a);system("pause");return 0;}
0 0
- C语言三种方法实现字符串右旋
- 两种方法实现右旋字符串中的k个字符
- C语言三种方法实现字符串左旋
- C语言:编写一个函数实现一串字符串的左旋或者右旋
- 实现字符串左旋和右旋的常见方法
- python 语言实现字符串的拼接(三种方法)
- C语言:判断一个字符串是否为另外一个字符串旋转之后的字符串。(左旋右旋、求子串)
- C语言两种方法实现字符串反转
- c语言:两种方法实现字符串拷贝strcpy
- C语言实现字符串拷贝函数的几种方法
- C语言字符串相关方法的实现
- C语言实现大小写转换的三种方法
- 【C语言】三种方法实现strlen函数
- 两数求最大公约数的三种方法的C语言实现
- c语言实现求最大公约数的三种方法
- 状态机实现的三种方法-C语言
- 【C语言】冒泡法排序的三种实现方法
- 三种字符串分割方法(C/C++)
- 用《内网穿山甲》共享内网中的远程桌面服务
- 153. Find Minimum in Rotated Sorted Array
- 面试感悟----一名3年工作经验的程序员应该具备的技能
- 【SQL Server】 体系结构
- 矩阵运算概要
- C语言三种方法实现字符串右旋
- java 常用集合类库
- laravel常见异常解决
- 给Java程序猿们推荐一些值得一看的好书
- Leetcode: longest-palindromic-substring
- centos php5.5安装
- 1.5 Android Studio的程序调试
- 蓝桥杯- 基础练习 十六进制转十进制
- Principle for Mac 2.1.4 简体中文完美汉化包 原型设计工具