cpp中在vector<int>末尾添加n个0
时间: 2024-03-03 15:51:02 浏览: 64
可以使用vector的成员函数resize()来在末尾添加n个0元素。例如:
```
vector<int> vec;
int n = 5;
vec.resize(vec.size() + n, 0);
```
这样就在vec末尾添加了5个值为0的int元素。其中resize()函数的第一个参数表示vector的大小,第二个参数表示要添加的元素的初值。如果第二个参数不指定,则添加的元素默认为0。
相关问题
vector<vector<int>>类型的容器怎么查找是否含有某个vector<int>类型的元素C++
在C++中,可以使用`std::find`函数来查找一个元素是否存在于`vector<vector<int>>`类型的容器中。首先,你需要包含`<algorithm>`头文件。
下面是一个示例代码,演示了如何查找一个`vector<int>`类型的元素是否存在于`vector<vector<int>>`类型的容器中:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<std::vector<int>> container = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
std::vector<int> target = {4, 5, 6};
// 使用std::find函数查找目标元素
auto it = std::find(container.begin(), container.end(), target);
if (it != container.end()) {
std::cout << "目标元素存在于容器中" << std::endl;
} else {
std::cout << "目标元素不存在于容器中" << std::endl;
}
return 0;
}
```
在上述代码中,我们定义了一个`vector<vector<int>>`类型的容器`container`,并初始化了一些元素。然后,我们定义了一个目标元素`target`,即要查找的`vector<int>`类型的元素。接下来,使用`std::find`函数来查找目标元素在容器中的位置,并将结果保存在迭代器`it`中。最后,通过判断迭代器是否等于容器的末尾,来确定目标元素是否存在于容器中。
注意,这里的查找是按值进行比较的,即比较两个`vector<int>`是否相等。如果你想要自定义比较规则,可以使用`std::find_if`函数,并传入一个自定义的谓词函数作为参数。
cpp中vector<int>删除一个数0
要删除一个vector中的数,可以使用erase()函数,该函数的参数是一个迭代器,表示要删除的元素的位置。如果要删除的元素是一个数值,可以使用std::remove()函数将该元素移到vector的末尾,然后再使用erase()函数删除末尾的元素。
以下是删除vector<int>中的数值0的代码示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 0, 2, 0, 3, 0};
// 移除所有值为0的元素
vec.erase(std::remove(vec.begin(), vec.end(), 0), vec.end());
// 输出vector中的元素
for (int i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 3
```
阅读全文