定义vector对象的时候先不用指定数组的大小,有数据的话就往数组里面插入就可以了。vector内部自己管理存储空间。
文章目录
vector 的头文件和命名空间:vector 的定义:vector 的初始化:vector 的的常用基本操作使用实例
vector 的头文件和命名空间:
#include <vector>
using namespace std
;
vector 的定义:
vector
<int> arr_int
;
vector
<char> arr_char
;
vector
<CStudent
> arr_student
;
vector
<char*> arr_pchar
;
vector 的初始化:
#include <vector>
int main
(int argc
, char* argv
[])
{
std
::vector
<int> one
;
std
::vector
<int> two(4,100);
std
::vector
<int> three(two
.begin(),two
.end());
std
::vector
<int> four(three
);
int myints
[] = {16,2,77,29};
std
::vector
<int> five
(myints
, myints
+ sizeof(myints
) / sizeof(int) );
return 0;
}
vector 的的常用基本操作
① arr_int
[idx
] 或 arr_int
.at(idx
)
② arr_int
.size();
③ arr_int
.front();
④ arr_int
.back();
⑤ arr_int
.clear();
⑥ arr_int
.begin();
⑦ arr_int
.end();
⑧ arr_int
.empty();
⑨ arr_int
.swap(v1
);
⑩
swap(arr_int
, v1
);
使用实例
#include <vector>
#include<iostream>
using namespace std
;
int main(int argc
, char* argv
[])
{
int szint
[5] = {1,2,3,4,5};
vector
<int> arr_int
;
vector
<int> second(4,100);
vector
<int> third(second
);
vector
<int> forth
=second
;
vector
<int> fivth(third
.begin(),third
.end());
vector
<int> six(szint
, szint
+ sizeof(szint
) / sizeof(int));
int a
=fivth
.at(2);
six
.push_back(100);
six
.insert(six
.begin() + 2, 666);
fivth
.insert(fivth
.begin() + 3, 3, 666);
forth
.insert(forth
.begin()+2, szint
, szint
+ sizeof(szint
) / sizeof(int));
forth
.pop_back();
fivth
._Pop_back_n(3);
forth
.erase(forth
.begin() + 1);
forth
.erase(forth
.begin() + 1, forth
.begin() + 2);
for (int idx
= 0; idx
< six
.size(); idx
++)
{
int value
= six
[idx
];
cout
<< value
<< ",";
}
cout
<< endl
;
vector
<int>::iterator itor
;
for (itor
= six
.begin(); itor
!= six
.end();itor
++)
{
int value
= *itor
;
cout
<< value
<< ",";
}
system("pause");
return 0;
}