#include
<
iostream
>
#include
<
stdio.h
>
#include
<
vector
>
#include
<
algorithm
>
using
namespace
std;
int
main(){ vector
<
int
>
v(
3
,
5
);
//
创建长度为3 初值为5的向量
//
v[0]=0;数组下标给向量元素赋值 无法动态增加向量长度
v[
0
]
=
1
;
//
有下标方式改变向量内元素值
v.push_back(
2
);
//
用push_back方法向向量尾部添加元素 动态增加向量长度
v.push_back(
3
); v.push_back(
4
); vector
<
int
>
::iterator it;
//
用迭代器访问向量元素
for
(it
=
v.begin();it
<
v.end();it
++
) { printf(
"
%d
"
,
*
it); } printf(
"
\n
"
); v.insert(v.begin(),
8
);
//
在最前面加入新元素 8
v.insert(v.begin()
+
2
,
1
);
//
在v[2]元素位置上加入新元素 1 其余依次往后串一位
v.insert(v.end(),
3
);
//
在向量末尾加入新元素 3
for
(
int
i
=
0
;i
<
v.size();i
++
)
//
用数组下标的方式访问向量元素
{ printf(
"
%d
"
,v[i]); } printf(
"
\n
"
); v.erase(v.begin());
//
删除迭代器0位置的元素
v.erase(v.begin()
+
2
,v.begin()
+
5
);
//
删除迭代器第2到第5之间的元素:v[2],v[3],v[4]
for
(it
=
v.begin();it
<
v.end();it
++
) { printf(
"
%d
"
,
*
it); } printf(
"
\n
"
); reverse(v.begin(),v.end());
//
反向排列向量从首到尾间的元素
for
(it
=
v.begin();it
<
v.end();it
++
) { printf(
"
%d
"
,
*
it); } printf(
"
\n
"
); v.clear();
//
清空向量内元素
printf(
"
输出向量是否为空: %d
"
,v.empty());
return
0
;}
转载于:https://www.cnblogs.com/cyiner/archive/2011/05/24/2055962.html
相关资源:C STL学习?vector
转载请注明原文地址: https://mac.8miu.com/read-58331.html