想用vector实现一个坐标的偶数行逆序叠加,形如贪吃蛇的网络连续。最主要的应用比如对XY平台的运动,按照此坐标排序进行移动会节省工序与时间。
我们已经生成好了一个坐标序列的vector
具体方法可以参考之前写的另外一篇博客,vector存储坐标
现在我们需要把这个vector类比到坐标系中,做到坐标点的连续,实现如贪吃蛇的效果。
首先需要我们用到vector的三个操作方法。
assign
void assign(const_iterator first,const_iterator last);
首先assign是将一个vector复制到另外一个vector,将区间[first,last)的元素赋值到当前的vector容器中。
比如:
Mypoints2.assign(Mypoints.begin(), Mypoints1.end());
当然我们可以在first和last索引下添加数字实现下标的变化。(实现将原始数组的前6个复制到新数组中)
Mypoints2.assign(Mypoints1.begin() , Mypoints1.begin() + 6 );
insert
vector向量容器中使用insert()方法,可以对vector的任意位置前插入一个新的元素
vector.insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
vector.insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据,无返回值
Mypoints2.insert(Mypoints2.end(), Mypoints.begin(), Mypoints.begin()+3