一维&&二维&&三维数组的建立
2014-08-17 13:07
99 查看
一维数组
二维数组
三维数组
////***********指针类型************* //-----------new---------------- int*p = new int[arraySize]; //-----------delete---------------- //new开辟后需要释放空间 delete []p; //删除数组空间 delete p; //错误,只删除了第一个元素 ////***********vector类型************* vector<string> v1; // 创建空容器,其对象类型为string类 vector<string> v2(10); // 创建有10个具有初始值(即空串)的string类对象的容器 vector<string> v3(5, "hello"); // 创建有5个值为“hello”的string类对象的容器 vector<string> v4(v3.begin(), v3.end()); // v4是与v3相同的容器(完全复制) //int类型 vector<int> p; //创建空容器 vector<int> p(arraySize); vector<int> p(arraySize, 0); ////***********直接类型************* int p[arraySize];
二维数组
////***********指针类型************* //-----------new---------------- int **p; //定义指向int指针的指针 p = new int*[arraySize]; //申请arraySize个指针,并使p指向它 for(int i = 0; i < arraySize; ++i) p[i] = new int[arraySize]; //分别使N个指针指向N个int的对象 //上述new的工作等同于 int (*p)[arraySize] = new int[arraySize][arraySize]; //定义一个指向有arraySize个元素的行指针p //-----------delete---------------- //用new在堆上开辟的空间,必须要用delete释放,否则会有内存泄露 for (int i = 0; i < arraySize; i++) { delete []p[i]; //删除数组元素,但是申请的arraySize个行指针还没有删除 p[i] = NULL; } delete []p; //删除行指针 p = NULL; ////************直接类型************* int p[arraySize][arraySize]; vector<vector<int> > array(arrzySize, vector<int>(arraySize, 0));
三维数组
////***********指针类型************* //-----------new---------------- int ***p; p = new int **[K]; for(int i = 0; i < K; ++i) { p[i] = new int *[M]; for(int j = 0; j < M; ++j) { p[i][j] = new int ; } } //-----------delete---------------- for(int i = 0; i < K; ++i) { for(int j = 0; j < M; ++j) delete []p[i][j]; delete []p[i]; } delete []p; ////***********vector类型************* vector<vector<vector<int> > > p(m, vector<vector<int> >(K, vector<int>(M)));
相关文章推荐
- 简洁明了,C++中动态定义一维数组,二维数组,三维数组
- 数组(一维、二维、三维)的动态申请及用vector 的表示方法
- 如何动态的建立大小可变的一维数组
- hdoj 2579 Dating with girls(2) 【BFS&&三维数组标记】
- 数组(一维、二维、三维)的动态申请及用vector的表示方法
- 数组(一维、二维、三维)的动态申请及用vector的表示方法
- C++中关于一维、二维、三维动态数组的定义
- 动态数组的使用(一维动态数组、二维、三维、N维)
- C++中动态定义一维数组,二维数组,三维数组的方法
- HDU 2602 Bone Collector(01二维背包&一维背包&滚动数组优化二维背包的原理 )
- 数组(一维、二维、三维)的动态申请及用vector的表示方法
- 【转】C++中new动态定义一维数组,二维数组,三维数组
- PHP三维数组变一维
- 三维数组的动态分配与回收(一维、二维都有)
- C++中动态定义一维数组,二维数组,三维数组
- 动态申请一维、二维、三维数组方法
- 一维树状数组和二维树状数组和三维树状数组的区间更新单点求值
- cppTest-3.0:指针相关-2(二维数组&一级指针&二级指针&一维指针数组)
- 一个简单有用的一维txt到三维数组的换算关系
- HDU 3404&POJ 3533 Nim积(二维&三维)