文章
3
粉丝
136
获赞
2
访问
2.3k
使用动态数组vector,以及迭代器iterator,用arr.erase(it) 删除数组成员,简单高效快捷
#include<stdio.h>
#include<vector>
using namespace std;
int main() {
int N;
scanf("%d", &N);
vector<int> arr;
for(int i = 1;i <= N; i++){
arr.push_back(i);
}
int pos = 0;//记录数组下标
while (arr.size() != 1) {
vector<int>::iterator it;
it = arr.begin();
pos = (pos + 2) % arr.size();
it += pos;
arr.erase(it);
}
printf("%d", arr[0]);
return 0;
}
登录后发布评论
暂无评论,来抢沙发