dev创建vector数组指定元素
时间: 2024-09-07 12:06:21 浏览: 57
在C++中,你可以使用`std::vector`容器来动态创建一个包含特定元素的数组。`std::vector`是一个动态大小的数组,允许你在运行时添加或删除元素。如果你想要创建一个只包含特定元素的`vector`,可以这样做:
```cpp
#include <iostream>
#include <vector>
int main() {
// 创建一个全为0的vector
std::vector<int> vec(5, 0); // 第一个参数是要创建的元素数量,第二个参数是初始值
// 或者,如果你有一个已知的初始值列表
std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用花括号初始化,指定元素直接赋值
for (const auto& element : vec) {
std::cout << element << " ";
}
std::cout << "\n";
return 0;
}
```
在这个例子中,`vec`是一个包含了5个0(如果使用默认值),或者是{1, 2, 3, 4, 5}元素的`vector`。
相关问题
dev vector初始化
### C++ 中 `vector` 初始化的方式
#### 使用默认构造函数初始化
当不提供任何参数调用 `vector` 构造函数时,默认构造函数会被调用来创建一个空的向量。
```cpp
std::vector<int> vec;
```
这会创建一个名为 `vec` 的整数类型的空向量[^1]。
#### 利用带有大小和初始值的构造函数
如果已知所需元素的数量及其初值,则可以通过指定这两个参数来预先分配空间并设置所有元素的值。
```cpp
// 创建含有5个0的int型vector
std::vector<int> vec(5, 0);
```
此代码片段展示了如何创建包含五个零值项的新向量实例[^2]。
#### 复制另一个现有集合的内容作为新对象的数据源
通过传递另一个相同类型的容器给构造器,可以从已有容器复制其全部内容到新的 `vector` 实例里去。
```cpp
std::list<int> lst = {1, 2, 3};
std::vector<int> vec(lst.begin(), lst.end());
```
上述例子说明了怎样把列表里的三个数值转移至一个新的矢量之中[^3]。
#### 采用花括号语法进行直接赋值式的初始化
对于现代标准版本下的编译环境而言(比如C++11及以上),支持利用大括号内的逗号分隔序列来进行简洁直观的一次性填充操作。
```cpp
std::vector<std::string> words{"hello", "world"};
```
这段程序建立了字符串类型且成员分别为 `"hello"` 和 `"world"` 的两个条目的 `vector` 对象。
#### 设置固定数量但未具体指明各位置上确切值得情况
有时可能只知道想要多少个单元格而不确定它们应该是什么;这时可以用单一表达式代表整个范围内的重复模式:
```cpp
std::vector<double> values(10); // 十个double变量组成的vector,默认初始化为0
```
这里声明了一个由十个双精度浮点数构成的数组形式结构体,并让系统自行决定这些数字的具体表现形态——通常情况下就是简单的全置成零。
使用dev-c++使用using namespace std;使用两个数组完成:在一维数组36,25,78,94,21,63,85,27,35,128中删除关键字35,成功或失败均返回提示信息,打印删除前后的数据。
在使用Dev-C++编写程序时,首先需要包含必要的头文件,如iostream和vector,因为一维数组在C++标准库中并不直接支持,通常我们会使用动态数组或者容器如std::vector。下面是一个示例程序,演示如何在一个类似一维数组的vector中删除指定元素并打印前后数据:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
// 创建一个vector存储数字
std::vector<int> numbers = {36, 25, 78, 94, 21, 63, 85, 27, 35, 128};
// 打印删除前的数据
std::cout << "Original array before deletion:\n";
for (const auto& num : numbers) {
std::cout << num << ' ';
}
std::cout << '\n';
// 使用erase函数删除元素
if (numbers.erase(std::find(numbers.begin(), numbers.end(), 35)) != numbers.end()) {
std::cout << "Element 35 has been successfully deleted.\n";
} else {
std::cout << "Element 35 not found in the array or deletion failed.\n";
}
// 再次打印删除后的数据
std::cout << "Array after deletion:\n";
for (const auto& num : numbers) {
std::cout << num << ' ';
}
std::cout << '\n';
return 0;
}
```
在这个程序中,我们使用了`std::find`查找目标元素35,然后调用`erase`函数尝试从vector中移除该元素。如果找到并且删除成功,则会输出相应的提示;如果未找到或删除失败,也会给出相应消息。
注意,`erase`函数返回的是新的end迭代器,我们通过比较它是否等于原end迭代器判断是否删除成功。`numbers.end()`表示删除后的新结尾。
阅读全文
相关推荐














