数组循环移位(从中间某个数开始往后循环到开头,再到某个数的前一个数)

解释一下循环移位

就是类似我想把 [1,2,3,4,5,6,7,8] 变成 [4,5,6,7,8,1,2,3] 这样。

c++

        vector<int> ans;
        int start = 4, n = 8;   //确定数组个数n,和开始位置的数
        for(int i = 1; i < n+1; ++i) {
            ans.push_back(i);
        }
        reverse(ans.begin(), ans.begin() + start);
        reverse(ans.begin(), ans.end());
        reverse(ans.begin(), ans.begin() + n - start);

python

      ans = [1,2,3,4,5,6,7,8]
      start = 4
      fealAns = ans[start :] + ans[: start]
posted on 2021-06-11 10:07  雾恋过往  阅读(212)  评论(0编辑  收藏  举报

Live2D