Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255893
  • 博文数量: 65
  • 博客积分: 2599
  • 博客等级: 少校
  • 技术积分: 710
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-04 10:49
文章分类

全部博文(65)

文章存档

2015年(4)

2013年(2)

2012年(4)

2011年(51)

2010年(4)

分类: LINUX

2015-04-17 18:33:47

三次反转算法:

    VU=reverse(reverse(U)reserve(V)),写成数学形式就是:

                 。

    

考虑一下数组A中元素123456循环右移2位到底是怎么个情况!!!可不可以这样实现呢?将数组A分成两个部分:A[0~n-k-1] 和 A[n-k~n-1] ,将这两个部分分别翻转,然后放在一起在翻转(逆序)。具体是这样的:

(1)翻转1234:123456 ---> 432156

(2)翻转56:     432156 ---> 432165

(3)翻转432165:432165 ---> 561234

【转载】http://blog.csdn.net/jcwkyl/article/details/3874629

阅读(1002) | 评论(0) | 转发(0) |
0

上一篇:Python TAB 自动补全

下一篇:KMP 详解

给主人留下些什么吧!~~