社区讨论

警示后人,if you use vector

B3688[语言月赛202212] 旋转排列参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lo117ma5
此快照首次捕获于
2023/10/22 13:32
2 年前
此快照最后确认于
2023/11/02 13:03
2 年前
查看原帖

一定记住.end()的坑

1.end()指向的是迭代器,用它取值需要加*

2.end()指向的是最后迭代器的后一位,所以应是

CPP
*(vec.end()-1)

附上WRONG CODE

CPP
#include<bits/stdc++.h>
using namespace std;
vector<int>vec;
void shit(){
	vec.insert(vec.begin()+0,vec.end());
	vec.pop_back();
}
int n,x;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x;
		vec.push_back(x);
	}
	do{
		shit();
		for(int i=0;i<vec.size();i++)
			cout<<vec[i]<<" ";
		cout<<endl;
	}while(vec.end()!=n);
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...