C vector 實現二維陣列

2021-07-16 00:01:56 字數 1463 閱讀 4218

簡介

在stl中vector這一容器,無論是在封裝程度還是記憶體管理等方面都由於傳統c++中的陣列。本文主要是關於使用vector初始化、遍歷方面的內容。其他二維的思想也是類似的。

這裡簡單敘述一下c++ 構建二維動態陣列

int **p;

p = new

int*[10]; //注意,int*[10]表示乙個有10個元素的指標陣列

for (int i = 0; i < 10; ++i)

1.初始化

(1)利用vector的push_back函式

vector

> vec;

vector

a;a.push_back(1);

a.push_back(2);

a.push_back(3);

vector

b;b.push_back(4);

b.push_back(5);

b.push_back(6);

vec.push_back(a);

vec.push_back(b);

(2)先定義好二維陣列結構,在直接賦值

//得到乙個5行3列的陣列

//由vector實現的二維陣列,可以通過resize()的形式改變行、列值

int i,j;

vector

>

array(5);

for (i = 0; i < array.size(); i++)

array[i].resize(3);

for(i = 0; i < array.size(); i++)

}

2.遍歷

(1)利用迭代器

void reverse_with_iterator(vector

> vec)

vector

::iterator it;

vector

>::iterator iter;

vector

vec_tmp;

cout

<< "use iterator : "

<< endl;

for(iter = vec.begin(); iter != vec.end(); iter++)

}

(2)得到行、列大小,利用下標進行遍歷

void reverse_with_index(vector

> vec)

int i,j;

cout

<< "use index : "

<< endl;

for (i = 0; i < vec.size(); i++)

}

C vector 實現二維陣列

簡介 在stl中vector這一容器,無論是在封裝程度還是記憶體管理等方面都由於傳統c 中的陣列。本文主要是關於使用vector初始化 遍歷方面的內容。其他二維的思想也是類似的。這裡簡單敘述一下c 構建二維動態陣列 int p p new int 10 注意,int 10 表示乙個有10個元素的指標...

C vector二維陣列

c 構建二維動態陣列 int p p new int 10 注意,int 10 表示乙個有10個元素的指標陣列 for int i 0 i 10 i 這樣就構成10 5的陣列 或者int v 2 3 int a 3 v a是指向有3個int元素的陣列的指標 cout a 1cout a 1 4cou...

vector實現二維陣列

用vector實現二維陣列的好處 1 陣列的越界可能會引起程式的崩潰,動態性不好,包括動態改變大小,動態申請。2 vector提供了operator函式,可以像陣列一樣的操作,而且還有邊界檢查,動態改變大小。簡單說下c 構建動態的二維陣列 int p p new int 10 注意,int 10 表...