假设字符串:abcdefg
左循环两位:cdefgab
右循环两位:fgabcde
规律: AB->BA==((A的反转)(B的反转))的反转=(B的反转)的反转(A的反转)的反转=BA
1
//
将一个字符串中某个子串反序
2
void
reverseOrder(char
* str, int
p, int
q)
3
{
4
char
temp;
5
while
(p < q)
6
{
7
temp = str[p];
8
str[p] = str[q];
9
str[q] = temp;
10
p ++;
11
q --;
12
}
13
}
14
void
shift_n(char
* str, int
n)
15
{
16
if
( !str)
17
return
;
18
int
len = strlen(str);
19
int
t = n % len;//循环移动的位数大于字符串的长度
20
reverseOrder(str, 0
, len - t -1
);
21
reverseOrder(str, len - t, len -1
);
22
reverseOrder(str, 0
, len -1
);
23
}
对于左循环:A=ab;B=cdefg;
对于右循环:A=abcde;B=fg;
对于上面的算法左右循环是相同的,只是AB字符串的划分不同而已。
发表评论
-
析构函数为虚函数的原因
2012-09-09 11:42 786我们知道,用C++开发的时候,用来做基类的类的析构函数 ... -
hash的应用
2012-08-31 23:02 925第一部分为一道百度面试题Top K算法的详解;第二部分为关 ... -
微软智力题
2012-08-29 19:59 539第一组1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有 ... -
C++不能被继承的类
2012-08-27 20:16 997一个类不能被继承, ... -
括号对齐问题
2012-08-27 10:47 1352解法一:左右括号成一对则抵消 可以 ... -
树的遍历
2012-08-19 10:43 680/****************************** ... -
堆排序
2012-08-16 14:24 844堆:(二叉)堆数据结构是一种数组对象。它可以被视为一棵完全 ... -
多态赋值
2012-08-14 16:16 778#include <iostream> usi ... -
static变量与static函数(转)
2012-08-13 10:15 702一、 static 变量 static变量大致分为三种用法 ... -
不用sizeof判断16位32位
2012-08-10 15:21 1663用C++写个程序,如何判断一个操作系统是16位还是3 ... -
找出连续最长的数字串(百度面试)
2012-08-09 15:15 1111int maxContinuNum(const char*in ... -
顺序栈和链栈
2012-08-06 10:01 767顺序栈:话不多说直接上代码 #include ... -
队列的数组实现和链表实现
2012-08-05 16:20 995话不多少,数组实现上代码: #include<i ... -
KMP算法详解
2012-08-02 21:40 850KMP算法: 是在一个“主文本字符串” ... -
字符串的最长连续重复子串
2012-08-01 15:05 9700两种方法: 循环两次寻找最长的子串: <方法一> ... -
寻找一个字符串连续出现最多的子串的方法(转)
2012-07-31 21:19 918算法描述首先获得后缀数组,然后1.第一行第一个字符a,与第二行 ... -
一次谷歌面试趣事(转)
2012-07-31 15:26 726很多年前我进入硅谷 ... -
约瑟夫环问题(循环链表)
2012-07-30 21:31 1242题目描述:n只猴子要选大王,选举方法如下:所有猴子按 1, ... -
面试之单链表
2012-07-30 20:18 6911、编程实现一个单链表的建立/测长/打印。 ... -
多重继承内存地址问题
2012-07-30 15:55 696[cpp] view plaincopy ...
相关推荐
对C语言中字符串循环移位的问题进行详解,并给出两种方法求解。
自定义字符串整体循环移位
插入排序、一个英文句子单词逆转,字符串循环移位、去重、全排列算法(递归和非递归实现)、KMP算法
编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh” 函数头是这样的: //pStr是指向以'\0'结尾的字符串的指针
代码如下所示: 代码如下:/************************************************************************//* 给定两个字符串s1和s2,要求判定s2是否能被s1做循环移位得到的字符串所包含例如,给定s1 = AABCD, s2 = ...
字符串循环左移 4/88 给定一个字符串S[0…N-1],要求把S的前k 个字符移动到S的尾部,如把字符串"abcdef" 前面的2个字符'a'、'b'移动到字符串的尾 部,得到新字符串"cdefab":即字符串循环 左移k。 多说一句:循环...
本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0…N-1],要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动...
自己编写的一种简单加密解密算法,通过把多种算法进行组合。特点是同个字符串不同时间加密结果不同,混合了多种加密方式,很难用统计的方式对密文进行破解。 加密过程: ...5)整个字符串循环移位
自己编写的一种简单加密解密算法,通过把多种算法进行组合。特点是同个字符串不同时间加密结果不同,混合了多种加密方式,很难用统计的方式对密文进行破解。 加密过程: 1)扩展字符串 ...5)整个字符串循环移位
1、利用字符串的format函数将int整数值转化为特定位数的二进制值 2、利用字符的切片操作实现循环位移 二、实现代码 # left circular shift #int_value是输入的整数,k是位移的位数,bit是整数对应二进制的位数 def ...
ex:输入移动位数 1 输入语句:a 输出 b 输入语句: b 输出 c
对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。 给定两个字符串s1 和s2 ,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA...
LeetCode判断字符串是否循环 Leetcode-Java- 一.(Sort类): 350. Intersection of Two Arrays II a.首先用HashMap遍历一遍数组nums1,Key值储存数组元素,Value(初始值为1)值储存重复元素出现次数,每出现一次加1...
自制数据存储部分,路径创建 说明字符串(比如日期时间)写入;for循环+移位寄存器创建随机数组,并输出图表。适合新手参考
面试题58 - II. 左旋转字符串题目链接面试题58 - II. 左旋转字符串题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是
西门子200PLC入门视频教程
最长循环公共子序列(LCCS)是两个字符串在所有可能的循环移位操作下能得到的最长公共子序列(LCS)。针对穷举移位量求解LCCS效率过低的问题,设法对候选移位量进行筛选。通过证明循环移位操作对两字符串间LCS长度...
1、 试编写一个汇编程序,要求从键盘上接收若干位16...5、 试编写一程序,要求分别将存于DAX和DAY中的双字数据循环左移一位,并将移位后的两个双字数据相加,然后将结果存入RLT开始的字单元中(低位在前,高位在后)。
目录 1. 产品概述 2.入门指南 3.安装 ... 8.14 移位与循环移位 8.15 字符串 8.16 表 8.17 定时器 8.18 子例程 8.19 PROFINET 9.通信 10.库 11.调速和故障排除 12.PID回路和整定 13.开环运动控制
116.循环移位 117.延伸的卡片 118.羊羊聚会 119.一维数组”赋值“ 120.一维数组”加法“ 121.勇闯天涯 122.右上角 123.右下角 124.圆及圆球等的相关计算 125.圆及圆球等相关计算 126.程序员添加行号 127.找出数字 ...