字符串循环右移
来源:互联网 发布:橘子 芥川龙之介 知乎 编辑:程序博客网 时间:2024/05/16 13:43
实现字符串循环右移指定位数;
思路:
1、首先计算字符串尾部移到头部的字符个数;
2、分配一个相同大小的堆内存来临时保存这些字符;
3、做循环将头部字符移到尾部;
4、做第二次循环将堆内存中的字符复制到字符串头部。
具体代码如下:
#include <iostream>using namespace std;void loopMove(char *str,int n){char *temp=NULL;int strLen=0;char *head=str; //指向字符串头if(str==NULL)return ;while(*str++);strLen=str-head-1;//计算字符串长度strlen(str);n=n%strLen;//计算字符串尾部移到头部的字符个数;temp=(char *)malloc(n);for(int i=0;i<n;i++){temp[i]=head[strLen-n+i];//临时存放从尾部移到头部的字符}for(i=strLen-1;i>=n;i--){head[i]=head[i-n];}for(i=0;i<n;i++){head[i]=temp[i];//从临时内存区复制尾部字符}free(temp);}int main(){char str[50];int n;cout<<"please input a string: ";gets(str);cout<<"please input step: ";cin>>n;loopMove(str,n);cout<<"after totate right "<<n<<": "<<str<<endl;return 0;}运行结果:
阅读全文
0 0
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- 字符串循环右移
- linux设备驱动之platform总线驱动学习
- Android TabLayout && 个性指示器
- oracle数据库字符编码utf-8改为ZHS16GBK
- Python实现基于BIC的语音对话分割(二)
- poj3349_Snowflake Snow Snowflakes
- 字符串循环右移
- JAVA实现简单的双向LinkedList
- Oracle 软件测试工程师日常工作中常用到的查询语句(除功能业务查询语句)
- 使用Java网络编程创建基于TCP协议的Server和Client
- Copying Books (二分)
- 心情
- Spring Cloud学习系列第二章:使用Feign调用服务
- 【算法系列】——Java实现插入&&希尔排序
- 如何在CSDN博客中的所贴的代码进行【代码块】显示