红河信息港
游戏
当前位置:首页 > 游戏

标准C程式库标准样版库串列样版

发布时间:2019-06-20 04:58:34 编辑:笔名

  过去几年以来,C++ 程式语言的标准语言定义程序经历了一个大改变。此标准化程序便是标准资料结构库的产生,此程式库通常称为「标准样版库」( Standard Template Library ) 或 STL 。由於 STL 是 C++ 语言定义的一部份,因此使用 STL 的程式应该享有高度可植性,因为任何标榜支援 " 标准C++" 的编译程式都必须提供 STL 实作。

  叠代字只是一种类似指标的物件,可以用来循环存取容器中的所有元素。由於不同的演算法需要以个种不同的方式来游历容器,因此有各种不同的叠代子形式。标准样版库中的每个容器类都提供一种叠代子,适合和实作容器所用的储存技巧配合使用。

  在执行过程中,如果一个问题中的元素个数变化非常大,或者无法事先预估元素个数,则不适合采用向量资料型态。在这种情况下,连结串列资料抽象是比较恰当的选择。连结串列的观念是一种很自然的资料抽象,导源於一个问题中的资料结构必须维护一个群集,而群集中的元素个数无法事先预知,或者可能剧烈变化。基本上,连结串列的观念是维护一个串连起来的集合,其串每个动态配置的链都储存一个值与一个指向下一链的指标。如果链不是串列後一个储专资讯的容器,简单的形式只储存指向个链的指标。

  串列有许多型式,大略可分为四种:、基本型式,拥有 (1) 链结。第二、可同时储取个链和後一个链,(1)和(3)链结。第三、可以双向游历串列,(1) 和 (2) 链结。第四、包含第二和第三类型,(1)、 (2) 和 (3) 链结。

  当我们使用 list 串列时,必须含入 #include :

  叠代子

  begin 传回一个指向起点的叠代子。

  end 传回一个指向终点的叠代子。

  rbegin 传回一个指向反转起点的叠代子。

  rend 传回一个指向反转终点的叠代子。

  Top

  宣告及初始化串列

  列串和向量一样,是用样版实作出来的。当作样版的型态可用标准资料型态或自订资料型态,但自订资料型态必须设定一个无参数建构子来初始化型态值。另外使用拷贝建构子时,样版会使用此型态的指派运算子 ( = ) 。因此,指派运算子是否要定义可由使用者决定。

  list int list_one ;

  list float list_two ( 4 , 3.2 ); file://配置4个元素,初值为 3.2

  list double list_six ( list_two ); file://拷贝建构子

  下列几个成员函式可以将串列中的元素做全面或局部的调整。

  insert 将元素插入串列中间。它有两个引数分别为一个叠代子和一个值,此值会插入叠代子的位置前面。例: list_sert ( list_gin( ) , 1.34 );

  assign 类似於指派运算子的函式,但比指派运算子在运用上围更大,需要较多的参数。但是会删除所有的元素。例:list_sign(12); file://将串列长度为 12 初值为 0

  swap 交换两串列的元素。

  Top

  将元素放入串列

  push_back 将元素从後端推入串列。

  push_front 将元素从前端推入串列,例:list_sh_front(1.2);

  Top

  连接两串列

  splice 有一点类似 insert 的功能,但原串列的内容会被删除。因为 splice 是将原串列的内容链,直接改成插入的地方,所以资料的位置没有被改变。只是链结的位置改变而已,效率比 insert 快上许多。

  merge 合两个有序串列,此成员函式比通用演算法来得有效率,但前提是串列必须已经排序完成。

  Top

  删除串列

  pop_back 传回後一个元素,并将它从串列中删除。

  pop_front 传回前面一个元素,并将它从串列中删除。

  remove 删除串列中某一个值的元素。例:list_move(4); file://删除串列中所有资料是 4 的元素

  remove_if 删除满足某一条件的所有值。它和 remove 函式比通用演算法更有效率。例:list_move_if(divisibleByThree);

  erase 删除两个叠代子中间的元素。可以只指定一个叠代子,其功能为删除此叠代子到後一个的元素。

  unique 移除所有相邻种元素,只保留个元素。使用者可以利用可有可无的二元函式来取代相等比较运算子。例:list_ique();

  clear 删除所有的元素。

  Top

  长度和大小的改变

  empty 检查元素个数是否为零个。

  resize 可改变串列长度,加长或减少。加果加长的话,可以设定初值。

  size 传回容器中所储存元素的个数。

  Top

  存取元素和叠代子

  front 传回容器中个元素。

  back 传回容器中後一个元素。

  Top

  排序

  sort 将元素编排成递增顺序,它所采用的是一个有效率的演算法。如果比较运算子不是< ,可以当成引数传入函式中。例:list_rt (widgetCompare);

  Top

  其它

  max_size 可建立元素的个数。

  reverse 将串列中每一个元素反转。

宝宝便秘怎么办
宝宝便秘严重怎么办
宝宝便秘了怎么办
友情链接
三岁宝宝口臭是什么原因 一周岁宝宝咳嗽怎么办 小孩咳嗽厉害怎么办 孩子流鼻血怎么办 小孩子发高烧 宝宝干咳怎么办 宝宝高烧40度怎么办 八个月宝宝便秘 儿童止咳药啥牌子好 儿童止咳化痰药排名 婴儿感冒咳嗽吃什么药 小儿感冒药哪个效果好 小孩持续发烧38度的危害 幼儿咳嗽吃什么药效果好 三岁宝宝晚上咳嗽厉害怎么办 孩子不爱吃饭怎么办 1岁宝宝发烧 孩子干咳比较厉害什么药效果好 小孩发烧怎么回事 宝宝有点干咳怎么办 小孩发高烧怎么办 宝宝感冒发烧反复是怎么回事 孩子老是咳嗽 8岁儿童发烧怎么退烧 宝宝晚上咳嗽怎么办 孩子老咳嗽 孩子咳嗽吃什么好 小孩晚上睡觉出汗是怎么回事 小宝宝便秘怎么办 宝宝喉咙有痰怎么办 小孩白天不咳嗽晚上咳嗽怎么回事 1岁宝宝咳嗽厉害小妙招 婴儿有点咳嗽怎么办 小孩子发烧怎么办怎么降温 儿童止咳化痰药哪个效果好 小孩晚上咳的厉害怎么办 孩子半夜咳嗽厉害怎么办 小孩不爱吃饭怎么办 小儿感冒药 小葵花芪斛楂颗粒 小孩早上起来咳嗽是怎么回事 三岁儿童老是干咳嗽怎么办 小孩白天不咳晚上咳嗽厉害怎么办 宝宝流清鼻涕咳嗽 小孩夜里咳嗽厉害妙招 小儿止咳化痰的药哪种药最好 宝宝发烧反反复复是什么原因 镇江骨科医院哪家好 襄阳耳鼻喉医院哪家好 恩施医学影像科医院哪家好 天门民族医学科医院哪家好 平顶山小儿心内科医院哪家好 鹤壁心血管医院哪家好 鹤壁肾病内科医院哪家好 南阳消化内科医院哪家好 周口成瘾医学科医院哪家好 绵阳计划生育科医院哪家好 巴中免疫科医院哪家好 绵阳有哪些乳腺外科医院 达州有哪些耳鼻喉医院 张家界心理咨询科医院哪家好 绥化肿瘤妇科医院哪家好 丹东肿瘤综合科医院哪家好 永州有哪些小儿免疫科医院 怀化有哪些特色医疗科医院 铁岭小儿康复科医院哪家好 齐齐哈尔有哪些新生儿科医院 齐齐哈尔有哪些微创外科医院 伊春有哪些急诊科医院 淮南血液科医院哪家好 佳木斯有哪些神经内科医院 牡丹江有哪些小儿骨科医院 牡丹江有哪些牙周科医院 安庆口腔科医院哪家好 大兴安岭有哪些泌尿外科医院 黄山动脉导管未闭医院哪家好 大兴安岭有哪些肝胆外科医院 大连有哪些生殖中心医院 阜阳外伤科医院哪家好 宿州心血管内科医院哪家好 宣城五官科医院哪家好 锦州有哪些小儿康复科医院 呼和浩特皮肤科医院哪家好 营口有哪些小儿神经外科医院 盘锦有哪些中医科医院 赤峰肛肠科医院哪家好 盘锦有哪些微创外科医院 赤峰疼痛科医院哪家好 合肥有哪些综合科医院 安庆有哪些小儿神经外科医院 林芝有哪些产前诊断科医院 林芝有哪些心胸外科医院 吴忠有哪些遗传咨询科医院 中卫有哪些小儿妇科医院 吐鲁番有哪些肿瘤内科医院 吐鲁番有哪些妇泌尿科医院 昌吉有哪些脑外科医院 巴州有哪些皮肤性病医院 阿克苏有哪些精神心理科医院 阿勒泰有哪些骨科医院