📅  最后修改于: 2023-12-03 15:36:50.896000             🧑  作者: Mango
在编程过程中,经常需要对集合中的元素进行操作,比如切换(翻转)集合中的某个元素。在C++中,可以通过下标操作符[]来访问集合中的元素,实现翻转。
#include <bits/stdc++.h>
using namespace std;
void reverse(vector<int>& nums, int k) {
nums[k] = !nums[k]; // 使用逻辑异或操作翻转元素
}
int main() {
vector<int> nums = {1, 0, 1, 0, 0, 1, 1, 0};
int k = 3;
cout << "Before reversing the element at index " << k << ":\n";
for (int num : nums) {
cout << num << " ";
}
cout << endl;
reverse(nums, k);
cout << "After reversing the element at index " << k << ":\n";
for (int num : nums) {
cout << num << " ";
}
cout << endl;
return 0;
}
上述代码使用了STL中的vector来存储集合,通过传入引用的方式修改了原来的集合。函数reverse中使用了逻辑异或操作(!
)来翻转元素,即1变成0,0变成1。在main函数中,先输出了翻转前的集合,然后调用函数reverse,再输出翻转后的集合。
Before reversing the element at index 3:
1 0 1 0 0 1 1 0
After reversing the element at index 3:
1 0 1 1 0 1 1 0
运行结果表明成功将集合中下标为3的元素翻转了,从0变成1。