2_shift_left
Posted taxue505
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2_shift_left相关的知识,希望对你有一定的参考价值。
//0 1 2 3 4 5 6 7
//1 2 3 4 5 6 7 0
//2 3 4 5 6 7 0 1
#include<iostream>
#include<vector>
using namespace std;
void reverse_arr(vector<int>&vec,int start,int end)
for(;start<end;start++,end--)
swap(vec[start],vec[end]);
void shift_left(vector<int>&vec,int k)
int len=vec.size();
k=k%len;
reverse_arr(vec,0,k-1);
reverse_arr(vec,k,len-1);
reverse_arr(vec,0,len-1);
int main()
int arr[8]=0,1,2,3,4,5,6,7;
vector<int> vec(arr,arr+8);
shift_left(vec,3);
for(int i=0;i<vec.size();i++)
cout<<vec[i];
cout<<endl;
//
//g++ shift_left.cc -o shift_left
//./shift_left
以上是关于2_shift_left的主要内容,如果未能解决你的问题,请参考以下文章