容器类总览

原创 2004年10月12日 17:24:00
1.vector
1). random access     --- 即得到第i个元素所花的时间为常数,与i无关。
2). varying length       --- 即长度可变,stl容器的共性,由库管理内存
3). amortized constant time insertion and deletions at the end
                                --- 即在vector尾部插入或删除所花的时间分配到每种情况下为常数。
    插入时涉及到内存分配问题,设vector.size()=N,当其capacity也为N时,在尾部插入数据时需要重新分配空间,这就涉及到数据拷贝问题,一般重新分配空间时都会以某种策略增长(如N的某个倍数),比如以2N,这样从N->2N,插入N个数据,只是开始拷贝了N个数据,以后并没有进行数据拷贝,只把相应数据插入vector尾部即可,消耗时间分摊一下为O(N/N),即为常数级。

2. deque
同vector,只是在队头队尾插入删除消耗时间分摊后也为常数。(循环队列实现?)

3. list
取第i个元素所花时间与N线性相关,在任何地方插入、删除时间为常数。

4 set、map
都属于sorted sociated container,里面的内容都是排序好的。

基础排序算法总览--JAVA

基础排序算法如下: 1 插入类排序,如直接插入,折半插入,希尔排序等。 2 交换类排序,如冒泡排序,快速排序等。 3 选择类排序,如选择排序,堆排序等。 4 归并类排序,如归并排...
  • manu_zhang
  • manu_zhang
  • 2017年04月08日 01:01
  • 312

stl源码剖析 详细学习笔记 算法总览

//****************************基本算法*****************************     /*                 stl算法总览,...
  • boydfd
  • boydfd
  • 2015年03月28日 22:12
  • 764

排序算法——总览

http://zh.wikipedia.org/zh-cn/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95http://baike.baidu.com/view/297739...
  • liyongjin2009
  • liyongjin2009
  • 2011年03月01日 11:34
  • 203

数据结构总览

数据结构分为 :1.线性结构 2.非线性结构 线性结构分为 :广义表,栈(后进先出),队列(先进先出),串(注意 串的模式匹配); 非线性结构分为:图,树; 图分为: 强连通图 ,连通图; 树...
  • err118
  • err118
  • 2015年10月26日 08:56
  • 228

MFC容器类CArray,CList

我们知道有各种各样的数据结构,啥栈,队列,树之类的.不过其实这些用的都非常少,用的最多的是线性表.平常我们用的数组最是典型的线性表.我们可以像int [] arrp这样简单的定义一个数组.不过这是固定...
  • robinson_911
  • robinson_911
  • 2014年06月25日 13:55
  • 527

微信小程序一览

微信小程序开始公测了,感觉后面放出来的话会很火。因此也跟风看了看微信小程序是怎么开发的。首先进行微信小程序开发工具的安装,其实这个挺简单的,就是傻瓜式安装。进入官网:https://mp.weixin...
  • wang_Number_1
  • wang_Number_1
  • 2016年11月04日 15:53
  • 616

JAVA同步容器使用心得

重新写了一次坦克大战,以前自己写一个新类用synchronized同步所有方法,现在发现java自己提供了要给,记录一下使用过程中遇到的问题。Collections.synchronizedList最...
  • alan19931103
  • alan19931103
  • 2015年12月21日 19:08
  • 259

常见的开发语言(或IT技术)一览

Java、 Android、 iOS、 Web前端、 Python、 .NET、 PHP、 C/C++、 Linux 数据库技术...
  • Jacee0048
  • Jacee0048
  • 2015年07月03日 12:11
  • 885

脚本语言总览

脚本语言总览 -- Zoom.Quiet ::03061820年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你用汇编吧,今天人们也许会告诉你用c语言(c++?)吧。那么20年...
  • shipfi
  • shipfi
  • 2004年12月06日 13:31
  • 955

java容器类的层次及区别

 一、容器类层次 二、容器类的区别                                                                       ...
  • zhousongyue
  • zhousongyue
  • 2014年03月06日 11:25
  • 833
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:容器类总览
举报原因:
原因补充:

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