扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
过去几年以来,C++ 程式语言的标准语言定义程序经历了一个大改变。此标准化程序便是标准资料结构库的产生,此程式库通常称为「标准样版库」( Standard Template Library ) 或 STL 。由於 STL 是 C++ 语言定义的一部份,因此使用 STL 的程式应该享有高度可植性,因为任何标榜支援 " 标准C++" 的编译程式都必须提供 STL 实作。
叠代字只是一种类似指标的物件,可以用来循环存取容器中的所有元素。由於不同的演算法需要以个种不同的方式来游历容器,因此有各种不同的叠代子形式。标准样版库中的每个容器类都提供一种叠代子,适合和实作容器所用的储存技巧配合使用。
标准样版库中的向量 ( vector ) 资料型态将一维阵列的观念一般化。向量抽象有许多方面比传统阵列强,例如可以在执行过程中增加或减少群集的大小。要使用 ( vector ) 资料型态,程式设计师首先必须引入 : #include
宣告和初始化向量
就如同阵列一般,向量的宣告需加入资料型别,我们也利用一些技巧来宣告二维向量。
vector<资料型别> 名称(建构字参数);
vector arr_float(20) // 20 为长度
vector arr_int( 10 , 0) // 10 为长度,0为初值
vector < vector< int> > // > > 中间要有空格,不然编译器会当作 >> 运算子
Top
向量标
[ ] 重载了[ ] 运算子,使它具有存取向量内其中一个元素。例:s4[2]
at 它和上列那一个功能几乎一样,除了它可以丢出一个例外(out_of_range),当指定指大於或等於 size 时。
front 传回第一个元素。
back 传回最後一个元素。
Top
长度运算与更改大小的运算
size 传回一个整数值,指出目前元素的个数。
capacity 传回缓区的大小。
max_size 可配置元素最大围。
reserve 改变缓区的元素的个数。
empty 如果向量大小为 0 ,则传回 true (无向量的容量是多少)
resize 改变元素的个数,并将初值填上,例:v.resize( 20 , 17 ); // 元素为 20 个 初值为 17
Top
插入和删除
push_back 将一个元素到向量的最後面。例:vec_five.push_back(21); // 将 21 加入到向量的最後面
pop_back 取得最後一个元素值。
insert 将新元素插入叠代子之後。
erase 移除单一元素或移除一个围。例:vec_five.erase(where); or
vec_five.erase (iterator begin, iterator end);
Top
向量叠代子
begin 传回一个指向起点的叠代子。
end 传回一个指向终点的叠代子。
rbegin 传回一个指向反转起点的叠代子。
rend 传回一个指向反转终点的叠代子。
Top
布林向量
在标准 C++ 样版库中布林向量是一个特别的方案。为布林向量样版库中加入一个特别的函式。也加入一个新的函式。
vector bvec(27); file://宣告
flip 将元素中所有的位元反转。bvec.flip(); // 反转所有的元素
swap 交换两个值,例:bvec.swap(bvec [17], bvec [16]);
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者