赞
踩
动态数组,使用方法与python数组类似
vector<type> name | 创建一个名为nama的type类型vector |
vector<type> name={val1,val2,val3} | 创建数组并初始化为[val1,val2,val3] |
vector<type> name2(name1) | 使用name1的元素初始化name2(深拷贝,name1和name2的操作互不影响) |
vector<type> name(n,val) | 创建一个名为name的数据类型为type的vector,并且初始化为包含了n个val |
vector<type> name(n) | name包含n个默认值初始化 |
vector<vector<type>> matrix(M,vector<type>(N)) | 二维数组初始化,创建M*N的二维矩阵 |
- vector<int> v;//创建一个名为v的int类型数组
- vector<int> v={1,2,3};//创建一个名为v的int类型数组,并初始化为[1,2,3]
- vector<char> v2(v1);//使用char类型数组v1初始化v2
- vector<int> v(10,1);//创建一个int类型数组v,包含10个元素都为1
- vector<char> v(5);//创建一个char类型数组,包含5个元素
- vector<vector<int>> matrix(10,vector<int> (5));//创建一个尺寸为10*5的二维int类型矩阵,初始化默认为0
api | 作用 | 说明 |
push_back(val) | 增 | 末尾添加元素val,深拷贝 |
pop_back | 删 | 删除末尾元素 |
v[index]=val | 改 | 修改下标为index的值为val |
v.size() | 返回v中元素个数 | |
v.clear() | 清空数组 | 等效于v={} |
- int main() {
-
- vector<int> v = { 1,2,3 };//创建vector,并初始化为[1,2,3]
- //1.增加元素
- v.push_back(4);//[1,2,3,4]
-
- //2.删除元素
- v.pop_back();//[1,2,3]
-
- //3.修改
- v[0] = 0;//[0,2,3]
-
- //4.查看数组大小
- cout << v.size() << endl;//输出3
-
- //5.清空数组
- v.clear();
- cout << v.size();
- }
- int main() {
- vector<int> v = { 1,2,3 };//创建数组
-
- //auto表示自动分配数据类型,&表示创建temp应用,可以通过修改temp修改数组的值
- for (auto& temp : v)
- {
- temp = temp + 1;//遍历数组所有元素并+1
- }
- for (auto& temp : v)
- {
- cout << temp << endl;//循环三次,依次输出2,3,4
- }
- }
v1==v2 | 判断两vector相等,长度与内容都相等时才为true |
v2=v1 | 用v1的元素替换v2的元素(深拷贝,互不影响) |
sort | 排序,直接修改原数组内容,无返回值。配合begin、end,rbegin、rend实现正反排序 |
- int main() {
- vector<int> v = { 4,1,2,3 };//创建数组
-
- sort(v.begin(), v.end());//由小到大排序[1,2,3,4]
-
- for (int temp : v)//打印输出
- {
- cout << temp << endl;
- }
-
- sort(v.rbegin(), v.rend());//由大到小排序[4,3,2,1]
-
- for (int temp : v)//打印输出
- {
- cout << temp << endl;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。