字符串移动效果算法C实现
2016-08-23
0 0 0
暂无评分
其他
如何获取积分?
应用背景
我在上大学的时候,见到的题目: 原字符串为: "adcd1234".要求输出1则变为"4abcd123";输出2则变为"34abcd123".问题看起来比较简单,但是要考虑在效率上下工夫,则有很大的思考空间。总之,算是抛砖引玉吧,希望对算法感兴趣的朋友一些启示。关键技术
这是本人货真价实的原创代码,拿出来分享下。
分别运用了常规、指针技术和队列结构3种方式实现。如其中之一:
/* 本算法实现是效率比较高的一种算法。
* 算法的思想是把'a','b','c','d','1','2','3','4'共8个字符元素固定存放在一个* 字符数中,然后利用指向该数组元素的指针查找需要输出的元素。先查看后k个,
* 后查看前SIZE-k个。(k为移动位数).当k>SIZE时,如k=9和k=1对应查找开头相同。
*
* 时间复杂度:O(n)=n/2;
* //打印原数组的不计,则时间消耗在查找上。
* //最好1次,最坏SIZE-1次。O(n)=(1+n-1)/2=n/2;
* */
c
算法
字符串
实现
效果
移动
相关源码推荐
pclite
0
0
暂无评分
通用嵌入式FTP客户端
0
0
暂无评分
UDP测试演示
0
0
暂无评分
TMS320F28335 DSP通过SPI 方式与EEPROM 传输数据
0
0
暂无评分
TMS320F28335 CAN通信源码
0
0
暂无评分
暂无评论