版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++中的vector简单使用实例
作者:天涯来源:中国自学编程网发布日期:1236667017
前几天网友问我C++里面的%ctor的使用,现在对vector进行简单总结,共享CSDN网友。
说明:东西比较简单,如果你很牛,请直接关闭本页.
首先是vector的声明.
#includ.<vector.
spac.std./.在这里声.
vector<int.i.
或.
#includ.<vector.
std::vector<int.i./.在这里显式声.
看具体使用.
l.vecto.的数据的存入和输出.
vie.plaincop.t.clipboardprint.
vector<CString.v.
for(in..=0;i<40;i++.
CStrin.s.
s.Format("%d",i).
v.push_back(s).
CStrin.s..
for(in..=0;j<v,size();j++.
,,
ss+=v[j]+z".
MessageBox(ss).
注:你也可以用v.begin。和v.end(.来得到vector开始的和结束的元素地址的指针位置。你
也可以这样做.
vie.plaincop.t.clipboardprint.
vector<CString.v.
for(in..=0;i<40;i++.
CStrin.s.
s.Format("%d"zi).
v.push_back(s).
CStrin.s..
vector<CString>::iterato.iter.
for.ite..v.begin().ite.!.v.end(),iter+..
ss+.*iter+"/'.
MessageBox(ss).
vector<CString.v.
for(in..=0;i<40;i++.
CStrin.s.
s.Format("%d",i).
v.push_back(s).
CStrin.s..
vector<CString>::iterato.iter〃枚举器
for.ite..v.begin().ite.!.v.end(),iter+..
,
ss+.*iter+"/'.
MessageBox(ss).
2.对于二维vector的定义(开始就固定长度.
vie.plaincop.t.clipboardprint.
vector.vector<CString...Array.10.vector<CString>(0.).
for.in...0...10.j+..
fo.(in...0...9.i+..
CStrin.s.
s.Format(,,%d",i).
Array..].push_back(s).
CStrin.ss.
for.in.j..0.j..l0.jj+..
for(in.i..0.i..Array.j.].size().ii+..
ss+=Array[jj][ii].
MessageBox(ss).
vector.vector<CString..Array.l0.vector<CString>(0.).
for.in...0...10.j+..
fo.(in...0...9.i+..
CStrin.s.
s.Format(,'%d",i).
Array..].push_back(s).
CStrin.ss.
for.in.j..O.j..lO.jj+..
for(in.i..0.i..Array.j.].size().ii+..
ss+=Array[jj][ii].
MessageBox(ss).
3.定义一个行列都是变化的数.
vie.plaincop.t.clipboardprint.
in...O...O.
vector.vector<CString..Array.
vector.CStrin..line.
for...0...10.j+..
Array.push_back.lin.);〃要对每一个vector初始化,否则不能存入元素.
fo....0...9.i+..
CStrin.s.
s.Format("%d",i).
Array..].push_back..).
CStrin.ss.
for(in.j..O;jj<Array.size();jj++.
for(in.i.=O;ii<Array[jj].size();ii++.
ss+=Array[jj][ii].
MessageBox(ss).
前几天网友问我C++里面的vector的使用,现在对vector进行简单总结,共享CSDN网友。
说明:东西比较简单,如果你很牛,请直接关闭本页!
首先是vector的声明:
#include<vector>
usingnamespacestd;//在这里声明
vector<int>i;
e••
或者
#include<vector>
•■•
std::vector<int>i;//在这里显式声明
看具体使用:
1.vector的数据的存入和输出:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format("%d",i);
v.push_back(s);
)
CStringss;
for(intj=0;j<v.size();j++)
{
ss+=v0]+"z";
}
MessaqeBox(ss);
注:你也可以用v.begin。和v.end()来得到vector开始的和结束的元素地址的指针位置.
你也可以这样做:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
{
CStrings;
s.Format("%d",i);
v.push_back(s);
}
CStringss;
vector<CString>:iteratoriter;
for(iter=v.begin();iter!=v.end();iter++)
(
ss+=*iter+"/";
}
MessageBox(ss);
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format("%d",i);
v.push_back(s);
}
CStringss;
vector<CString>::iterato门ter;〃枚举器
for(iter=v.begin();iter!=v.end();iter++)
{
ss+=*iter+"J;
)
MessageBox(ss);
2.对于二维vector的定义(开始就固定长度)
viewplaincopytoclipboardprint?
vector<vector<CString>>Array(10zvector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
{
CStrings;
s.Format("%d",i);
Array[i].push_back(s);
}
)
CStringss;
for(intjj=0;jj<10;jj++)
(
for(intii=0;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
)
}
MessageBox(ss);
vector<vector<CString>>Array(10,vector<CString>(0));
for(intj=0;j<10;j++)
(
for(inti=0;i<9;i++)
{
CStrings;
s.Format("%d"zi);
Array[i].push_back(s);
}
)
CStringss;
for(intjj=0;jj<10;jj++)
{
for(intii=0;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
}
)
MessageBox(ss);
3.定义一个行列都是变化的数组
viewplaincopytoclipboardprint?
inti=0,j=0;
vector<vector<CString>>Array;
vector<CString>line;
for(j=0;j<10;j++)
{
Array.push_back(line);〃要对每一个vector初始化,否则不能存入元素。
for(i=0;i<9;i++)
{
CStrings;
s.Format("%d"zi);
Array[j].push_back(s);
}
}
CStringss;
for(intjj=O;jj<Array.size();jj++)
{
for(intii=O;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
}
}
MessageBox(ss);
前几天网友问我C++里面的vector的使用,现在对vector进行简单总结,共享CSDN网友。
说明:东西比较简单,如果你很牛,请直接关闭本页!
首先是vector的声明:
#include<vector>
usingnamespacestd;//在这里声明
•■•
vector<int>i;
或者
#include<vector>
std::vector<int>i;//在这里显式声明
看具体使用:
l.vector的数据的存入和输出:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format("%d",i);
v.push_back(s);
}
CStringss;
for(intj=0;j<v.size();j++)
{
ss+=vO]+"z";
)
MessageBox(ss);
注:你也可以用v.begin。和v.end。来得到vector开始的和结束的元素地址的指针位置。
你也可以这样做:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format(,,%d",i);
v.push_back(s);
}
CStringss;
vector<CString>::iteratoriter;
for(iter=v.begin();iter!=v.end();iter++)
{
ss+=*iter+"J;
)
MessageDox(ss);
vector<CString>v;
for(inti=0;i<40;i++)
{
CStrings;
s.Format("%d"zi);
v.push_back(s);
)
CStringss;
vectorvCString〉::iteratoriter;〃枚举器
for(iter=v.begin();iter!=v.end();iter++)
{
ss+=*iter+"z";
}
MessageBox(ss);
2,对于二维vector的定义(开始就固定长度)
viewplaincopytoclipboardprint?
vector<vector<CString>>Array(10,vector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
CStrings;
s.Format("%d",i);
Array[i].push_back(s);
)
}
CStringss;
for(intjj=0;jj<10;jj++)
{
for(intii=0;ii<Array[jj].size();ii++)
(
ss+=Array[jj][ii];
}
)
MessageBox(ss);
vector<vector<CString>>Array(10,vector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
(
CStrings;
s.Format("%d",i);
Array[i].push_back(s);
}
}
CStringss;
for(intjj=0;jj<10;jj++)
(
for(intii=0;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
)
}
MessageBox(ss);
3,定义一个行列都是变化的数组
viewplaincopytoclipboardprint?
inti=0zj=0;
vector<vector<CString>>Array;
vector<CString>line;
for(j=0;j<10;j++)
Array.push_back(line);〃要对每一个vector初始化,否则不能存入元素。
for(i=0;i<9;i++)
{
CStrings;
s.Format("%d",i);
Array[j].push_back(s);
}
)
CStringss;
for(intjj=O;jj<Array.size();jj++)
{
for(intii=O;ii<Array[jj].size();ii++)
(
ss+=Array[jj][ii];
)
}
MessageBox(ss);
前几天网友问我C++里面的vector的使用,现在对vector进行简单总结,共享CSDN网友。
说明:东西比较简单,如果你很牛,请直接关闭本页!
首先是vector的声明:
#include<vector>
usingnamespacestd;//在这里声明
vector<int>i;
或者
#include<vector>
std::vector<int>i;//在这里显式声明
看具体使用:
1.vector的数据的存入和输出:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format("%d",i);
v.push_back(s);
)
CStringss;
for(intj=O;j<v.size();j++)
{
ss+=v[j]+"/";
}
MessageBox(ss);
注:你也可以用v.begin。和v.end()来得到vector开始的和结束的元素地址的指针位置。
你也可以这样做:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
{
CStrings;
s.Format("%d"zi);
v.push_back(s);
}
CStringss;
vector<CString>::iteratoriter;
for(iter=v.begin();iter!=v.end();iter++)
(
ss+=*iter+"z";
)
MessageBox(ss);
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format("%d",i);
v.push_back(s);
}
CStringss;
vector<CString>::iterat(xiter;//枚举器
for(iter=v.begin();iter!=v.end();iter++)
{
ss+=*iter+"z";
}
MessageBox(ss);
2.对于二维vector的定义(开始就固定长度)
viewplaincopytoclipboardprint?
vector<vector<CString>>Array(10zvector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
(
CStrings;
s.Format("%d",i);
Array[i].push_back(s);
}
)
CStringss;
for(intjj=0;jj<10;jj++)
(
for(intii=0;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
)
}
MessageBox(ss);
vector<vector<CString>>Array(1OZvector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
(
CStrings;
s.Format("%d",i);
Array[i].push_back(s);
)
)
CStringss;
for(intjj=0;jj<10;jj++)
(
for(intii=0;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
)
)
MessageBox(ss);
3.定义一个行列都是变化的数组
viewplaincopytoclipboardprint?
inti=0zj=0;
vector<vector<CString>>Array;
vector<CString>line;
for(j=0;j<10;j++)
{
Array.push_back(line);〃要对每一个vector初始化,否则不能存入元素。
for(j=0;i<9;i++)
(
CStrings;
s.Format("%d",i);
Array[j].pushback(s);
}
}
CStringss;
for(intjj=0;jj<Array.size();jj++)
(
for(intii=O;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
}
}
MessageBox(ss);
前几天网友问我C++里面的vector的使用,现在对vector进行简单总结,共享CSDN网友。
说明:东西比较简单,如果你很牛,请直接关闭本页!
首先是vector的声明:
#include<vector>
usingnamespacestd;//在这里声明
vector<int>i;
•■•
或者
#indude<vector>
e■•
std::vector<int>i;//在这里显式声明
看具体使用:
1.vector的数据的存入和输出:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
CStrings;
s.Format("%d",i);
v.push_back(s);
)
CStringss;
for(intj=O;j<v,size();j++)
(
ss+=v[j]+,7,;
}
MessageBox(ss);
注:你也可以用v.begin。和v.end()来得到vector开始的和结束的元素地址的指针位置。
你也可以这样做:
viewplaincopytoclipboardprint?
vector<CString>v;
for(inti=0;i<40;i++)
(
CStrings;
s.Format("%d",i);
v.push_back(s);
)
CStringss;
vector<CString>:iteratoriter;
for(iter=v.begin();iter!=v.end();iter++)
{
ss+=*iter+",";
)
MessageBox(ss);
vector<CString>v;
for(inti=0;i<40;i++)
{
CStrings;
s.Format("%d"zi);
v.push_back(s);
)
CStringss;
vector<CString>:iteratoriter;〃枚举器
for(iter=v.begin();iter!=v.end();iter++)
ss+=*iter+"/";
}
MessageBox(ss);
2.对于二维vector的定义(开始就固定长度)
viewplaincopytoclipboardprint?
vector<vector<CString>>Array(10,vector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
{
CStrings;
s.Format("%d",i);
Array[i].push_back(s);
}
}
CStringss;
for(intjj=0;jj<10;jj++)
(
for(intii=0;ii<Array[jj].size();ii++)
(
ss+=Array[jj][ii];
}
)
MessageBox(ss);
vector<vector<CString>>Array(10,vector<CString>(0));
for(intj=0;j<10;j++)
{
for(inti=0;i<9;i++)
{
CStrings;
s.Format("%d",i);
Arrayfi].push_back(s);
}
)
CStringss;
for(intjj=0;jj<10;jj++)
(
for(intii=0;ii<Array[jj].size();ii++)
(
ss+=ArrayUj][ii];
)
)
MessageBox(ss);
3.定义一个行列都是变化的数组
viewplaincopytoclipboardprint?
inti=0,j=0;
vector<vector<CString>>Array;
vector<CString>line;
for(j=0;j<10;j++)
(
Array.push_back(line);〃要对每一个vector初始化,否则不能存入元素。
for(i=0;i<9;i++)
(
CStrings;
s.Format("%d",i);
Array[j].push_back(s);
)
)
CStringss;
for(intjj=O;jj<Array.size();jj++)
{
for(intii=O;ii<Array[jj].size();ii++)
{
ss+=Array[jj][ii];
)
}
MessageBox(ss);
问大家有关vector氏度和容量的问题
ttinclude<vector>
#include<iostream>
^include<string>
usingnamespacestd:
voidmain()
(
vector<string>svec;〃长度和容量都是0
svcc.reserve(64);//长度不变,容量被苴为64
stringtext_word:
while(cin>>textword)
svec.push_back(lext_word);//‘输入192个单词,长度变为192
//容量为256
svcc.rcsizc(svec.sizc()+70);
cout<<"size:*<<svec.sizeO
<<*capacity:*<<svec.capacity()<<endl:
〃长度增长70,为262,容后为384
)
为什么容量是384,而不是512或326?
想在每个元素之前插入100。如100210031004……10021,但是下面的程序不能运行,哪里错了应该怎
么改?
9include<iostream>
*include<vector>
usingnamespacestd;
intmainO
vector<int>a:
for(inti=l;i<21;i++)
a.push_back(i+l):
a.resize(40);
for(vector<int>::iteratoriter=a.begin():iter!=a.end():iter++)
(
a.inserl(iter,100);
)
for(vector<int>::iteratoriter=a.begin();iter!=a.end():iter++)
cout«*itcr;
system("pause");
return0;
对我有用[0]
丢个板砖[0]
引用
举报
管理
TOP
回复次数:5
回复次数:5
#1喽得分:10回复于:2008-05-2512:29:42
C/C++code
for(vector<int>::iteratoriter=a.begin();iter!=a.end
er)
(Poss)
等级:/
iter=a.insert(iter,100);
++iter;
我有
对
用roT
LJ
砖
板
丢
个roJ
L
引
用
举
报
管
理
T
OP
精华推荐:前天面深信服的一套比试题有点意思大家研究下好么?
精华推荐:前天面深信服的一套比试题有点意思55大家研究下好么?
精华推荐:前天面深信服的一套比试题有点意思Si大家研究下好么?
#2楼得分:10回复于:2008-05-2512:29:54
C/C-H-code
^include<iostrean>
#include<vector>
#include〈algorithm)
usingnamespacestd;
baihacker
(飞雪)
等级:/
intmain()
(
vector<int>a;
for(inti=l;i<21;i++)
a.push_back(i+l);
for(vector<int>::iteratoriter=a.bogin();iter!=
ter+=2)
iter=a.insert(iter,100);
copy(a.begin(),a.end(),ostream_iterator<int>(cout,
system(^pause^);
return0;
)
100210031004100
06
100710081009100
011
100121001310014100
016
100171001810019100
021
请按任意键继续...
对我有用[0]
丢个板砖「01
引用
举报
管理
TOP
精华推荐:进程的问题
精华推荐:进程的问题
#3楼得分:0回复于:2008-05-2512:34:47
C/C++code
#include<iostream〉
#include<vector>
usingnamespacestd;
effective_personintmainO
(晓风)
(
等级:/
vector<int>a;
for(inti=l;i<21;i++)
a.push_back(i+l);
//a.resize(40):这句可以去掉,因为vector可以自己增力
最好用list
for(vector<int>::iteratoriter=a.begin();iter!=
+iter,++iter)
(
iter=a.inser
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上半年马鞍山安徽宁马投资有限责任公司人员招聘10名考试参考题库及答案解析
- 2026广东梅州市五华县转水镇强镇富村实业有限公司招聘业务经理1人考试参考试题及答案解析
- 2026浙江衢州市常山县气象局编外人员招聘1人考试参考题库及答案解析
- 2026江苏苏州市姑苏区教育体育和文化旅游委员会下属学校招聘事业编制教师20人考试备考试题及答案解析
- 2026年滁州市公共数据授权运营合伙人(第一批)招募考试备考试题及答案解析
- 2026江西赣州市烈士纪念设施保护中心招募高校毕业生见习2人考试备考题库及答案解析
- 2026年福建莆田市城厢区人民政府凤凰山街道办事处文职人员招聘1人考试参考题库及答案解析
- 2026西安市雁塔区第十五幼儿园招聘考试参考试题及答案解析
- 2026福建中闽海上风电有限公司招聘3-5人考试参考试题及答案解析
- 2026广西百色市平果市总工会招聘社会化工作者1人考试参考题库及答案解析
- 输液泵的使用培训课件
- 中医针灸治疗妇科疾病
- 25年自来水考试试题大题及答案
- 中职数学高等教育出版社
- 肿瘤科一科一品十佳案例
- 25春国家开放大学《学前儿童音乐教育活动指导》期末大作业答案
- 提优点7 衍生数列问题
- 2025-2030中国制药工业AGV行业市场发展趋势与前景展望战略研究报告
- 2025潍坊护理职业学院辅导员考试题库
- 科技领域安全风险评估及保障措施
- 锅炉水质化验记录表(完整版)
评论
0/150
提交评论