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

标准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 将串列中每一个元素反转。

宝宝便秘怎么办
宝宝便秘严重怎么办
宝宝便秘了怎么办