vector<int>
时间: 2024-02-16 17:58:54 浏览: 66
vector<int> 是C++标准库中的一个容器类,用于存储一组整数类型的元素。它提供了动态数组的功能,可以根据需要自动调整大小。以下是vector<int>的一些特点和常用操作:
1. 特点:
- 动态大小:vector<int> 可以根据需要自动调整大小,可以动态地添加或删除元素。
- 连续存储:vector<int> 的元素在内存中是连续存储的,可以通过索引快速访问元素。
- 支持随机访问:可以通过下标访问元素,时间复杂度为 O(1)。
- 可以在尾部高效地插入和删除元素。
2. 常用操作:
- 创建 vector<int> 对象:可以使用默认构造函数创建一个空的 vector<int> 对象,也可以指定初始大小和初始值。
- 添加元素:可以使用 push_back() 函数在 vector<int> 的尾部添加一个元素。
- 访问元素:可以使用下标运算符 [] 或者 at() 函数来访问 vector<int> 中的元素。
- 删除元素:可以使用 erase() 函数删除指定位置的元素,也可以使用 pop_back() 函数删除尾部的元素。
- 获取大小:可以使用 size() 函数获取 vector<int> 中元素的个数。
- 清空容器:可以使用 clear() 函数清空 vector<int> 中的所有元素。
相关问题
vector<vector<int>>
vector< vector<int> > 是一个容器,其中嵌套了另一个容器。外层容器的元素类型是 vector<int>,内层容器的元素类型是 int。你可以通过以下几个步骤来使用 vector< vector<int> >:
1. 定义和长度:
- 正确的定义方式:vector< vector<int> > A;(在尖括号前加上空格)
- 获取 vector< vector<int> > A 中的外层容器元素个数:int len = A.size();
- 获取 vector< vector<int> > A 中第 i 个外层容器的长度:int len = A[i].size();
2. 访问某个元素:
- 在使用 vector 容器之前,需要加上 <vector> 头文件:#include <vector>
- vector 属于 std 命名空间的内容,因此需要通过命名限定:using std::vector;(也可以直接使用全局的命名空间方式:using namespace std;)
- 使用 vector 的成员函数来访问元素...
例如,如果想定义 A = [[0,1,2],[3,4,5]],可以按如下步骤:
```cpp
vector< vector<int> > A; // 大容器
// A.push_back 里必须是 vector
vector<int> B; // 小容器
B.push_back(0);
B.push_back(1);
B.push_back(2);
A.push_back(B); // 小容器放入大容器
B.clear(); // 清空小容器元素
B.push_back(3);
B.push_back(4);
B.push_back(5);
A.push_back(B);
```
范例中还提供了一个案例,可以参考如下代码实现键盘输入 n 维矩阵,转化为二维向量:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector< vector<int> > v;
vector<int> temp;
int n, i, j, num;
cout << "input the dimension:";
cin >> n;
cout << "请输入" << n << "*" << n << "的矩阵" << endl;
// 输入元素
for (i = 0; i < n; i++) {
temp.clear(); // 清空 temp 内元素
for (j = 0; j < n; j++) {
cin >> num;
temp.push_back(num);
}
v.push_back(temp);
}
cout << "<----- 遍历输出所有元素 ----->" << endl;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << v[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
vector<vector<int>>
vector<vector<int>>是一个容器,其中外层容器中的元素类型是vector<int>,内层容器中的元素类型是int型。
要定义一个vector<vector<int>>变量,可以使用以下方式:
vector<vector<int>> A; //正确的定义方式,需注意尖括号前要加上空格[1]
要获取vector<vector<int>>变量的长度,可以使用以下方式:
int len = A.size(); //获取外层容器的元素个数
int len_inner = A[i].size(); //获取外层容器的第i个元素(内层容器)的长度
要访问vector<vector<int>>变量中的某个元素,可以使用以下方式:
int element = A[i][j]; //获取外层容器的第i个元素(内层容器)的第j个元素
要定义一个二维矩阵并存储到vector<vector<int>>变量中,可以使用以下方式:
vector<vector<int>> A; //定义大容器
vector<int> B; //定义小容器
B.push_back(0); //向小容器添加元素
B.push_back(1);
B.push_back(2);
A.push_back(B); //将小容器添加到大容器中
B.clear(); //清空小容器元素
B.push_back(3);
B.push_back(4);
B.push_back(5);
A.push_back(B); //将小容器添加到大容器中
如果想通过键盘输入n维矩阵并转化为vector<vector<int>>变量,可以使用以下方式:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> v;
vector<int> temp;
int n, i, j, num;
cout << "input the dimension:";
cin >> n;
cout << "请输入" << n << "*" << n << "的矩阵" << endl;
for (i = 0; i < n; i++) {
temp.clear();
for (j = 0; j < n; j++) {
cin >> num;
temp.push_back(num);
}
v.push_back(temp);
}
cout << "<----- 遍历输出所有元素 ----->" << endl;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << v[i][j] << " ";
}
cout << endl;
}
return 0;
} <span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [C++中vector<vector<int> >的简单使用](https://blog.csdn.net/VariatioZbw/article/details/116485536)[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://download.csdn.net/download/weixin_38655347/14874417)[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 ]
阅读全文