C++中的vector简单使用实例_第1页
C++中的vector简单使用实例_第2页
C++中的vector简单使用实例_第3页
C++中的vector简单使用实例_第4页
C++中的vector简单使用实例_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论