C++所有容器的共同操作

原创 2017年01月03日 18:36:26


C++库中还有很多的容器:vector,list (双向链表),queue,stack,set,map,等等。

但是他们都有一些共有的操作。

   1.== 和 != 运算符,都是返回true和false;

   2.赋值(=),是将一个容器赋值给另一个容器。

   3.empty都是返回的true和false;

   4.size都表示,容器内部,现在持有的元素个数。

   5.clear()删除所有元素。

   6.begin()都是指向容器的第一元素。

   7.end()都是返回容器的最后一个元素的下一个位置;

   8.insert(),将单一或者某一个范围内的元素插入容器。

   9.erase(),都是将容器内的单一元素或者某个范围内的元素,删除。

vector和list的比较优缺点:

     vector是数组,那么他的优点就是随机访问效率高,但是要是删除和插入一个元素效率是很低的。

     list是一个双向链表,那么他的优点就是很显然的,就是删除插入很简单,但是随机的访问却是很困难的。一个

泛型算法:

    1.find()用于搜索无序的集合;找到某个范围内的iterator[first,end);找到就返回,iterator所指向的值,否是指向end().

   2.binary_search() 用于查找有序的,找到返回true,否则返回false;binary_search()比find()更有效。(vector按照递增序列排序,才最有效)

   3.count(),返回数值相符的元素个数。

   4.search(),查找子集的,如果,找到自己序列,那么就返回自己的起始位置。否则返回end()的地址。


   


版权声明:本文为博主原创文章,未经博主允许不得转载。

C++顺序容器类中对象初始化、赋值、swap

顺序容器中,除了使用列表和一对迭代器初始化对象时,列表中元素和求迭代器所引用的值跟初始化的对象兼容即可。其他的都需要保证类型完全相同,包括赋值,swap. 如下表。...
  • qq_33850438
  • qq_33850438
  • 2016年10月07日 20:09
  • 660

c++常见容器操作

总结下常见c++容器操作。
  • wenzhou1219
  • wenzhou1219
  • 2016年05月29日 18:23
  • 494

C++容器使用经验总结(一)

第1章 容器 第1条:慎重选择容器类型。 标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标...
  • superbfly
  • superbfly
  • 2015年01月15日 20:55
  • 2102

C++ STL 基础及应用(6) 容器

读者可能有这样的经历,自己编写了动态数组类、链表类、集合类和映射类等程序,然后小心地维护着。其实 STL 提供了专家级的几乎我们所需要的各种容器,功能更好,效率更高,复用性更强,所以开发应用系统应该首...
  • Raito__
  • Raito__
  • 2016年06月05日 23:04
  • 2687

C++各种容器小结

在C++标准中,STL被组织为下面的17个头文件:、、、、、、、、、、、、、、、和。...
  • SkySuperWL
  • SkySuperWL
  • 2016年08月06日 17:33
  • 1266

C++STL容器部分操作多线程不安全

最近项目中发现一个c++stl容器多线程查找可能出现CPU占用率100%的问题。 问题是这样的,线程A和线程B共享一个stl::map。其中线程A对map有查找的操作,线程B对map有删除的操...
  • m0_38132420
  • m0_38132420
  • 2017年05月11日 23:35
  • 397

C++制作一个泛型容器(可以盛放各种类型的对象)

如果你想要一个可以盛放各种类型的对象,那么基本上可以说在C++里没有,或者你可以用vector或者其他的什么来模拟,我说那都不怎么好。问题就在于我的类型会在运行时动态的增加,你不可能知道我会增加什么类...
  • ClamReason
  • ClamReason
  • 2014年05月04日 16:58
  • 1804

关于STL容器的线程安全特性

标准C++的世界是相当保守和精简的。在这个纯洁的世界,所有可执行文件都是静态链接的。不存在内存映射文件和共享内存。没有窗口系统,没有网络,没有数据库,没有进程。在这种情况下,当发现标准没有提到任何关于...
  • gaokewoo
  • gaokewoo
  • 2014年04月26日 21:51
  • 875

C++ STL中容器的使用全面总结

一、容器的定义        在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还...
  • u014465639
  • u014465639
  • 2017年04月19日 21:44
  • 1037

C++ 容器(一):顺序容器简介

C++提供了使用抽象进行高效编程的方式,标准库中定义了许多容器类以及一系列泛型函数,使程序员可以更加简洁、抽象和有效地编写程序。本文分三部分将解包括:顺序容器,关联容器和泛型算法。...
  • YhL_Leo
  • YhL_Leo
  • 2015年08月18日 21:01
  • 5130
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++所有容器的共同操作
举报原因:
原因补充:

(最多只允许输入30个字)