C++容器巢狀實現動態二維陣列
實現程式碼
#include<stdio.h>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int row, column;
cin >> row >> column;
vector<vector<int> > a(row, vector<int>(column));
//row決定最裡面層容器大小,vector<int>(column)決定外層容器的型別和大小
for (int j = 0; j < row; j++)
for (int k = 0; k< column; k++)
a[j][k] = rand() % 100;
for (int j = 0; j < row; j++)
{
cout << endl;
for (int k = 0; k< column; k++)
{
a[j][k] = rand() % 100;
cout << a[j][k] << " ";
}
}
while (1)
{
}
return 0;
}
方法二
利用vector的成員函式resize,來制定大小
#include<stdio.h>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int row, column;
cin >> row ;
vector<vector<int> > a(row);//row決定最裡面層容器大小,vector<int>(column)決定外層容器的型別和大小
for (int k = 0; k < row; k++)
a[k].resize(row);//row*row矩陣
//使用空間
for (int j = 0; j < row; j++)
for (int k = 0; k< row; k++)
a[j][k] = rand() % 100;
for (int j = 0; j < row; j++)
{
cout << endl;
for (int k = 0; k< row; k++)
{
a[j][k] = rand() % 100;
cout << a[j][k] << " ";
}
}
while (1)
{
}
return 0;
}
測試結果
總結
1、動態陣列的使用有時候對於一些程式實現更加靈活的介面非常有必要!
2、vector想要使用陣列下標[]來索引裡面的元素的時候,vector定義的時候需要給了具體的大小(當然裡面的引數可以是變數)
相關文章
- 二維樹狀陣列陣列
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- iOS開發·runtime+KVC實現多層字典模型轉換(多層資料:模型巢狀模型,模型巢狀陣列,陣列巢狀模型)iOS模型巢狀陣列
- 【react】實現動態表單中巢狀動態表單React巢狀
- 二維陣列動態開闢與傳參陣列
- 陣列004 動態建立一維陣列陣列
- C++ 使用 new 建立二維陣列C++陣列
- 手動實現ArrayList動態陣列陣列
- 實現二維陣列的行列互換陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- c++ -- 二維陣列引數傳遞C++陣列
- 二維陣列笛卡爾積js實現陣列JS
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- 二維陣列陣列
- 狀態模式(c++實現)模式C++
- 動手編寫—動態陣列(Java實現)陣列Java
- C/C++獲取二維陣列行列數C++陣列
- C++用new建立二維陣列的方法C++陣列
- 最長公共子串 二維陣列 Go實現陣列Go
- PHP中二維陣列與多維陣列PHP陣列
- 巢狀滾動效果實現討論巢狀
- 二維陣列排序陣列排序
- Java二維陣列Java陣列
- vector 二維陣列陣列
- C++ 練氣期之二維陣列與矩陣運算C++陣列矩陣
- Java陣列如何實現動態初始化Java陣列
- [JAVA] Java 陣列、多維陣列,動態、靜態初始化,陣列JVM記憶體模型分析Java陣列JVM記憶體模型
- 二維陣列和稀疏陣列互轉陣列
- C++基礎回顧4——動態陣列C++陣列
- HDU 6274 Master of Sequence(思維+樹狀陣列+二分)AST陣列
- nginx 如何實現 if 巢狀Nginx巢狀
- C#二維陣列在SLG中的實現和使用C#陣列
- php 二維陣列排序PHP陣列排序
- 二維陣列查詢陣列
- 二維陣列行排序陣列排序
- 二維陣列練習陣列