1、数组的初始化+动态创建数组(分别采用new和vector)
int arr[10][2] = {0};
int **arr = new int*[m];
for (int i=0; i < m; i++){
arr[i] = new int[n];
for (int j = 0; j < n; j++){
arr[i][j] = 0;
}
}
- 不进行动态开辟数组,vector的初始化方法有三种:
1) vector<int> a;
2) vector<int> a(10);
vector<int> a(10, 1);
3) vector<int> a(5, 1);
vector<int> b(a);
- vector本身就是动态数组容器,因此可以直接进行动态开辟:
vector<vector<int>> arr(m, vector<int>(n));
vector<vector<int>> arr(m, vector<int>(n, 1));
vector<vector<int>> arr;
arr.resize(m, vector<int>(n));
2、vector常用函数
- 获取vector的长度:
vector.size()
- 排序函数(从小到大):
sort(vector.begin(), vector.end())
- 在数组最后添加元素:
vector.emplace_back(val)
,vector.push_back(val)
:二者的区别在于emplace_back()避免了额外的复制或移动操作 - 在数组末尾删除元素:
vector.pop_back()