循环左移

题目
将数组 相关问题 - 图1 中的元素循环左移 相关问题 - 图2个位置,给出左移的算法:
即:由相关问题 - 图3变为相关问题 - 图4

分析
将前 相关问题 - 图5 个元素组成的序列设为 相关问题 - 图6,剩余序列设为 相关问题 - 图7,目标是将 相关问题 - 图8 变为 相关问题 - 图9

解法1

  • 分别将 相关问题 - 图10相关问题 - 图11 逆序,得到 相关问题 - 图12
  • 再将整体逆序,得到:相关问题 - 图13

    这种串的逆运算值得学习

image.png

解法2

  • 申请大小为 相关问题 - 图15 的辅助空间,将 相关问题 - 图16 放入辅助空间
  • 相关问题 - 图17 向左移动 相关问题 - 图18 个位置
  • 相关问题 - 图19 填进去

image.png