最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++利用vector創(chuàng)建二維數組的幾種方法總結

 更新時間:2022年11月09日 09:58:57   作者:OnlyForBetter  
這篇文章主要介紹了c++利用vector創(chuàng)建二維數組的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

用vector創(chuàng)建二維數組的幾種方法

方法一

#include <iostream>
#include <vector>
using namespace std;
?
void test01() {
? ? ?//創(chuàng)建一個外層容器
?? ?vector<vector<int>>v;
? ? //創(chuàng)建一些內層容器,并賦值
?? ?vector<int>v1(10,1);
?? ?vector<int>v2(10,2);
?? ?vector<int>v3(10,3);
? ? //將內層小容器插入到大容器之中,類似于二維數組。
?? ?v.push_back(v1);
?? ?v.push_back(v2);
?? ?v.push_back(v3);
}

遍歷訪問:

1.便于理解法

for (int i = 0; i < 3; i++) {
? ? ? ? for (int j = 0; j < 10; j++) {
? ? ? ? ? ? cout << v[i][j] << " ";
? ? ? ? }
? ? ? ? cout << endl;
? ? }

2.對邏輯能力稍微有點要求

for (vector<vector<int>>::iterator it = v.begin(); it != v.end(); it++) {
? ? ? ? for (vector<int>::iterator it1 = (*it).begin(); it1 != (*it).end(); it1++) {
? ? ? ? ? ? cout << *it1 << " ";
? ? ? ? }
? ? ? ? cout << endl;
? ? }

方法二:一維擴充法 

#include <iostream>
#include <vector> //如果想用vector必須包含對應頭文件
using namespace std;
?
int main()
{
?? ?vector<vector<int> > vec(m); //這里m就是相當于二維數組的行數,必須寫,不然報錯
?? ?
?? ?//這里創(chuàng)建一個m*n的二維vector
?? ?for(int i = 0;i<m;i++)
?? ?{//這里是給內層vector定義大小。默認是0,這里n是個數,不是值
?
?? ??? ?vec[i].resize(n); ?//利用resize進行擴充
?? ?}
?
?
? ?//賦值,我嘗試了一下vec.[i].push_back(10)來為其賦值,不過失敗了,可能不可以這樣做。
? ?for (int i = 0; i < 3; i++) {
?? ??? ?for (int j = 0; j < 5; j++) {
?? ??? ??? ?vec[i][j] = j + 100;
?? ??? ?}
?? ?}
?? ?
?? ?system("pause");
?? ?return 0;
}

vector定義二維數組的輸入和輸出

1.方式一

#include <iostream>
using namespace std;
#include <vector>

int main()
{
?? ?vector<vector<int>> matrix = { {1,2,3},{4,5,6} };
?? ?for (int i = 0; i < matrix.size(); i++) {
?? ??? ?for (int j = 0; j < matrix[i].size(); j++) {
?? ??? ??? ?cout << matrix[i][j]<<" " ;
?? ??? ?}
?? ??? ?cout << endl;
?? ?}
?? ?system("pause");
?? ?return 0;
}

1.方式二

#include <iostream>
using namespace std;
#include <vector>

int main()
{
?? ?int r = 0, c = 0;
?? ?cout << "輸出行數 r: ";//規(guī)定二維數組行數
?? ?cin >> r;
?? ?cout << "輸入列數 c: ";//規(guī)定二維數組列數
?? ?cin >> c;
?? ?vector<vector<int>> array;//定義二維數組
?? ?vector<int>v;//定義一維數組
?? ?array.clear();//將二維數組清空,或初始化(初始化代碼很簡單,不會可以百度)//也可不用這一步
?? ?int temp = 0;
?? ?for (int i = 0; i < r; i++)//輸入r*c的二維數組
?? ?{
?? ??? ?cout << "開始輸入第 " << i + 1 << " 行 " << endl;
?? ??? ?v.clear();//子數組返回時要清除
?? ??? ?for (int j = 0; j < c; j++)
?? ??? ?{
?? ??? ??? ?cout << "輸入第 " << j + 1 << " 列中數字:";
?? ??? ??? ?cin >> temp;
?? ??? ??? ?v.push_back(temp);
?? ??? ?}
?? ??? ?array.push_back(v);
?? ?}
?? ?cout << "數組為:" << endl;
?? ?for (int i = 0; i < r; i++)//打印輸入的二維數組
?? ?{
?? ??? ?for (int j = 0; j < c; j++)
?? ??? ?{
?? ??? ??? ?cout << array[i][j] << " ";

?? ??? ?}
?? ??? ?printf("\n");
?? ?}
?? ?system("pause");
?? ?return 0;
}

2.方式三

#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
?? ?vector<vector<int>>c(2, vector<int>(6));
?? ?for (int i = 0; i < c.size(); i++)
?? ?{
?? ??? ?for (int j = 0; j < c[i].size(); j++)
?? ??? ?{
?? ??? ??? ?cout << c[i][j] << " ";
?? ??? ?}

?? ??? ?cout << "\n";
?? ?}
?? ?system("pause");
?? ?return 0;
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C++實用庫之DNS解析的實現(xiàn)

    C++實用庫之DNS解析的實現(xiàn)

    DNS解析是一種將域名轉換為相應的IP地址的過程,本文主要介紹了C++實用庫之DNS解析的實現(xiàn),實現(xiàn)了快速、準確的域名到IP地址的轉換,感興趣的可以了解一下
    2025-03-03
  • C語言 棧的表示和實現(xiàn)詳細介紹

    C語言 棧的表示和實現(xiàn)詳細介紹

    這篇文章主要介紹了C語言 棧的表示和實現(xiàn)詳細介紹的相關資料,需要的朋友可以參考下
    2016-12-12
  • C++ Boost Pool超詳細講解

    C++ Boost Pool超詳細講解

    Boost是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發(fā)引擎之一,是為C++語言標準庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • 淺談C語言中的指針和數組有什么區(qū)別

    淺談C語言中的指針和數組有什么區(qū)別

    C語言中的指針和數組是兩個重要的數據結構,它們在內存管理和數據存儲方面有許多相似之處,但也存在一些關鍵的區(qū)別,本文就來介紹一下C語言中的指針和數組有什么區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • C++數組和指針的區(qū)別與聯(lián)系

    C++數組和指針的區(qū)別與聯(lián)系

    這篇文章主要介紹了C++數組和指針的區(qū)別與聯(lián)系,數組是具有固定大小和連續(xù)內存空間的相同數據集合,指針是指存放內存地址的變量,更多詳細資料請參考下面文章內容
    2022-01-01
  • C語言銀行系統(tǒng)課程設計

    C語言銀行系統(tǒng)課程設計

    這篇文章主要為大家詳細介紹了C語言銀行系統(tǒng)課程設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言實現(xiàn)電話訂餐管理系統(tǒng)

    C語言實現(xiàn)電話訂餐管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)電話訂餐管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言實現(xiàn)用?*?打印X形圖案

    C語言實現(xiàn)用?*?打印X形圖案

    這篇文章主要介紹了C語言實現(xiàn)用?*?打印X形圖案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++中二叉堆排序詳解

    C++中二叉堆排序詳解

    這篇文章主要介紹了C++中二叉堆排序詳解,主要介紹了二叉堆排序(遞歸和非遞歸實現(xiàn)上沉、下沉算法),需要的朋友可以參考下
    2023-01-01
  • C語言詳細講解if語句與switch語句的用法

    C語言詳細講解if語句與switch語句的用法

    用 if 語句可以構成分支結構,它根據給的條件進行判定,以決定執(zhí)行哪個分支程序段,C 語言中還有另外一種分支語句,就是 switch 語句
    2022-05-05

最新評論

达州市| 新宁县| 佛山市| 正安县| 永德县| 马边| 肃南| 尼玛县| 大埔县| 亳州市| 嘉峪关市| 灵石县| 辉县市| 太保市| 西平县| 介休市| 扎赉特旗| 会同县| 威远县| 皮山县| 唐山市| 阜新市| 兴化市| 黑山县| 富裕县| 化德县| 庄河市| 梁河县| 封开县| 鲁山县| 顺义区| 贵州省| 峡江县| 偏关县| 瑞丽市| 岱山县| 清远市| 洪泽县| 喀什市| 丹东市| 鹿邑县|