c++ vector一维数组
时间: 2024-05-20 17:09:48 浏览: 31
C++中的vector是一种动态数组,它具有与数组相同的特性,可以通过索引访问其元素,但与数组不同的是,vector的大小可以动态增加或减少。在使用vector时,只需指定其数据类型即可。以下是一些关于vector的基本操作:
1.创建vector:
```
vector<int> v; // 创建一个空的整型向量
vector<string> v(5); // 创建一个5个元素的字符串向量
vector<double> v(5, 3.14); // 创建一个5个元素值为3.14的双精度向量
```
2.访问vector元素:
```
v[i]; // 访问第i个元素
v.at(i); // 同上,但会进行越界检查
v.front(); // 访问第一个元素
v.back(); // 访问最后一个元素
```
3.修改vector元素:
```
v[i] = value; // 将第i个元素修改为value
v.push_back(value); // 在向量末尾添加一个元素
v.pop_back(); // 删除向量末尾的元素
v.insert(pos, value); // 在pos位置插入一个元素
v.erase(pos); // 删除pos位置的元素
v.clear(); // 删除所有元素
```
4.获取vector信息:
```
v.size(); // 返回向量中元素的个数
v.empty(); // 如果向量为空,则返回true,否则返回false
```
相关问题
c++vector二维数组
C++中的vector是一个动态数组容器,可以方便地进行元素的插入、删除和访问。二维数组可以通过vector嵌套来实现。
下面是使用vector实现二维数组的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
// 创建一个二维数组,大小为3行4列
std::vector<std::vector<int>> matrix(3, std::vector<int>(4));
// 给二维数组赋值
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[i].size(); j++) {
matrix[i][j] = i * matrix[i].size() + j;
}
}
// 输出二维数组的值
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[i].size(); j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
上述代码中,我们首先创建了一个大小为3行4列的二维数组`matrix`,其中每个元素都是int类型。然后使用两层循环给二维数组赋值,并输出二维数组的值。
c++ vector 二维数组
要创建一个二维vector数组c,你可以使用以下方法:
1. 使用vector的构造函数初始化二维数组c,并指定初始值为0。例如,使用以下代码可以创建一个行数为row,列数为column的二维数组,并将所有元素初始化为0:
vector<vector<int>> c(row, vector<int>(column, 0));
2. 使用push_back()函数逐行添加向量。例如,使用以下代码可以创建一个空的二维数组c,并逐行添加向量:
vector<vector<int>> c;
vector<int> row1;
row1.push_back(0);
row1.push_back(1);
row1.push_back(2);
c.push_back(row1);
vector<int> row2;
row2.push_back(3);
row2.push_back(4);
row2.push_back(5);
c.push_back(row2);
3. 使用索引方式直接操作二维数组。例如,使用以下代码可以创建一个空的二维数组c,并直接通过索引方式添加元素:
vector<vector<int>> c;
c.push_back(0);
c.push_back(1);
c.push_back(2);
c.push_back(3);
c.push_back(4);
c.push_back(5);
请注意,在使用索引方式操作二维数组时,确保已经为每一行创建了向量。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [c++---vector二维数组](https://blog.csdn.net/m0_50046535/article/details/125344884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [C++--vector数组使用](https://blog.csdn.net/JUST__Tw/article/details/112221317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]