wordpress网站备案号,国家为什么把安阳分了,网站建设的摘要怎么写,磁力宅动态数组
有些时候想开一个数组#xff0c;但是却不知道应该开多大长度的数组合适#xff0c;因为我们需要用到的数组可能会根据情况变动。 这时候我们就需要用到动态数组。所谓动态数组#xff0c;也就是不定长数组#xff0c;数组的长度是可以根据我们的需要动态改变的。…
动态数组
有些时候想开一个数组但是却不知道应该开多大长度的数组合适因为我们需要用到的数组可能会根据情况变动。 这时候我们就需要用到动态数组。所谓动态数组也就是不定长数组数组的长度是可以根据我们的需要动态改变的。动态数组的实现也不难但是在C里面有已经写好的标准模板库Standard Template Library)就是我们常说的STL库 实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便地调用标准库来减少我们的代码量。 C中动态数组写作vectorC语言中没有标准库这也是为什么参加比赛推荐用C而不用C的原因。
引用库
C中vector的实现在一个 vector 头文件中在代码开头引入这个头文件并在引入所有头文件之后加上一 句using namespace std
#includevector
using namespace std;
int main(){return 0;
}构造一个动态数组
现在我们来构造一个动态数组。 C中直接构造一个vector的语句为vector T vec。这样我们定义了一个名为vec的储存T类型数据的动态数组。其中T是我们数组要储存的数据类型可以是int、floot、double、或者其他自定义的数据类型等等。初始的时候vec是空的。 比如vector int a定义了一个储存整数的动态数组a。
插入元素
C中通过push_back)方法在数组最后面插入一个新的元素。
#includevector
using namespace std;
int main(){vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[2,2]vec.push_back(3);//[1,2,3]return 0;
}获取长度并且访问元素
C中通过size()方法获取vector的长度通过[ ]操作直接访问vector中的元素这一点和数组是一样的。
#includevector
#includeiostream
using namespace std;
int main(){vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[2,2]vec.push_back(3);//[1,2,3]for(int i0;ivec.size();i){coutvec[i]endl;}return 0;
}删除元素
和插入一样删除元素也只能在动态数组的末端进行操作。C中通过pop_back)方法删动态数组的最后一个元素
#includevector
#includeiostream
using namespace std;
int main(){vectorint vec;//[]vec.push_back(1);//[1]vec.push_back(2);//[2,2]vec.push_back(3);//[1,2,3]vec.pop_back();//[1,2]vec.pop_back();//[1]return 0;
}清空
C中都只需要调用clear方法就可清空vector。 C中vector的clear只是清空vector并不会清空开的内存。用一种方法可以清空vector的内存
// vectorint v;
vectorint().swap(v); C vector 方法总结 vector的基础使用
首先我们引入需要的头文件vector在代码头部 写下
#includevector首先我们学习如何使用基础的vector。 在main函数里面通过 vector int v来定义一个储存整数的空的vector。当然vector可以存任何类型的数据 比如vector string v等等。用int来举例。在main函数的开头定义一个储存整数的动态数组v
我们把1到10的平方依次储存到刚才定义的vector里面。这里我们需要借助一个循环来完成循环枚举1到10。
#includevector
#includeiostream
using namespace std;
int main(){
vectorint v;
for(int i1;i10;i){v.push_back(i*i);
}
for(int i0;iv.size();i){coutv[i] ;
}
coutendl;
return 0;
}vector 的高级用法
用动态数组储存自定义数据
动态数组不仅仅可以储存基本的数据类型还能储存自定义数据类型比如结构体。
struct Student{string name;//名字 int age;//年龄
};
int main(){vectorStudent class1;//班级Student stu1,stu2;//学生1学生2stu1.namexiaohong;stu1.age12;stu2.namexiaoming;stu2.age25;class1.push_back(stu1);class1.push_back(stu2);return 0;
}构造函数
我们知道可以通过push_back()来向动态数组添加一个元素。如果我们需要一个长度为n的全是1的动态数组。我们可以像 下面这样写。
int n10;
vectorint vec;
for(int i0;in;i){vec.push_back(1);
}其实我们可以通过一个构造函数快速构建这样的一个动态数组。所谓构造函数就是我们在定义一个对象的时候可以给他赋 予初始值。
int n10;
vectorint vec(n,1);上面的代码我们在定义一个vector的时候调用构造函数第一个参数表示初始的动态数组的长度第二个参数表示初始的 数组里面每个元素的值。如果不传入第二个参数那么初始的值都是0
二维动态数组
我们都知道数组可以开二维的那么动态数组能用二维的吗答案当然是肯定的动态数组也支持二维 的。vectorvectorvec这样就定义了一个二维的动态数组。注意 int 中间有一个空格这个空格一定要加 上否则在一些老版本的编译器上将不能通过编译。 通过上面的方法定义的二维数组每一维都是空的我们必须要一维一维的赋值。比如我们规定第一维的大小为n。
int n5;
vectorvectorint vec2;
for(int i0;in;i){vectorint x(i1,1);vec2.push_back(x);
}
for(int i0;in;j){for(int j0;jvec2[i].size();i){coutvec2[i][j] ;}coutendl;
} 文章转载自: http://www.morning.ywxln.cn.gov.cn.ywxln.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com http://www.morning.wmglg.cn.gov.cn.wmglg.cn http://www.morning.gjssk.cn.gov.cn.gjssk.cn http://www.morning.nrjr.cn.gov.cn.nrjr.cn http://www.morning.wgtnz.cn.gov.cn.wgtnz.cn http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn http://www.morning.zlrrj.cn.gov.cn.zlrrj.cn http://www.morning.trqzk.cn.gov.cn.trqzk.cn http://www.morning.dyxzn.cn.gov.cn.dyxzn.cn http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn http://www.morning.bfhfb.cn.gov.cn.bfhfb.cn http://www.morning.nkllb.cn.gov.cn.nkllb.cn http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.jpnw.cn.gov.cn.jpnw.cn http://www.morning.rkfxc.cn.gov.cn.rkfxc.cn http://www.morning.pqwjh.cn.gov.cn.pqwjh.cn http://www.morning.yktr.cn.gov.cn.yktr.cn http://www.morning.bnfjh.cn.gov.cn.bnfjh.cn http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn http://www.morning.daidudu.com.gov.cn.daidudu.com http://www.morning.xwlhc.cn.gov.cn.xwlhc.cn http://www.morning.pbgnx.cn.gov.cn.pbgnx.cn http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn http://www.morning.btqrz.cn.gov.cn.btqrz.cn http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn http://www.morning.ksqzd.cn.gov.cn.ksqzd.cn http://www.morning.jypsm.cn.gov.cn.jypsm.cn http://www.morning.rdbj.cn.gov.cn.rdbj.cn http://www.morning.cfccp.cn.gov.cn.cfccp.cn http://www.morning.sthp.cn.gov.cn.sthp.cn http://www.morning.thrgp.cn.gov.cn.thrgp.cn http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn http://www.morning.fhhry.cn.gov.cn.fhhry.cn http://www.morning.qwdlj.cn.gov.cn.qwdlj.cn http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn http://www.morning.ybnzn.cn.gov.cn.ybnzn.cn http://www.morning.bpmnx.cn.gov.cn.bpmnx.cn http://www.morning.hqrr.cn.gov.cn.hqrr.cn http://www.morning.yrjfb.cn.gov.cn.yrjfb.cn http://www.morning.fpzz1.cn.gov.cn.fpzz1.cn http://www.morning.wqpsf.cn.gov.cn.wqpsf.cn http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn http://www.morning.ftgwj.cn.gov.cn.ftgwj.cn http://www.morning.rykgh.cn.gov.cn.rykgh.cn http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn http://www.morning.ppqzb.cn.gov.cn.ppqzb.cn http://www.morning.mrgby.cn.gov.cn.mrgby.cn http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn http://www.morning.jfjbl.cn.gov.cn.jfjbl.cn http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn http://www.morning.qcymf.cn.gov.cn.qcymf.cn http://www.morning.bzqnp.cn.gov.cn.bzqnp.cn http://www.morning.tstwx.cn.gov.cn.tstwx.cn http://www.morning.pkmw.cn.gov.cn.pkmw.cn http://www.morning.chehb.com.gov.cn.chehb.com http://www.morning.dfrenti.com.gov.cn.dfrenti.com http://www.morning.rccbt.cn.gov.cn.rccbt.cn http://www.morning.sjpbh.cn.gov.cn.sjpbh.cn http://www.morning.dlhxj.cn.gov.cn.dlhxj.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.knsmh.cn.gov.cn.knsmh.cn http://www.morning.bfkrf.cn.gov.cn.bfkrf.cn http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn http://www.morning.dglszn.com.gov.cn.dglszn.com http://www.morning.lrprj.cn.gov.cn.lrprj.cn http://www.morning.lgsfb.cn.gov.cn.lgsfb.cn http://www.morning.qdbcd.cn.gov.cn.qdbcd.cn http://www.morning.grzpc.cn.gov.cn.grzpc.cn http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn