码迷,mamicode.com
首页 >  
搜索关键字:头指针 插入删除    ( 1800个结果
stl之multimap容器
multimap与map一样,都是使用红黑树对记录型的元素数据按元素键值的比较关系,进行快速的插入、删除和检索操作,所不同的是multimap允许插入具有重复性键值的元素。 在multimap容器中,元素的键值与元素的映照数据的映照关系是多对多的,即multimap是多重映照容器。 由于元素键值允许重复,使得数组操作符“[]”利用键值来访问元素没有意义,故而multimap并没有定义数组方式的“[]...
分类:其他好文   时间:2015-07-11 10:39:01    阅读次数:135
数据结构之红黑树
在二叉树中已经探讨过,如果按照随机顺序插入树节点,绝大多数都会出现不平衡的情况。最坏的情况,插入的数据时有序的,二叉树将会变成链表,插入、删除的效率将会严重地降低 下图就是按照数据升序的顺序插入二叉树的情况: 红黑树就是一种解决非平衡树的方法,它是增加了某些特点的二叉搜索树 为了能较快的时间来搜索一颗树,需要保证树总是平衡的(或者至少大部分是平衡的),就是说对树中的每个节点,它左...
分类:其他好文   时间:2015-07-10 11:32:41    阅读次数:197
3Sum 等类似题目分析
3Sum题目描述:给定一个整数数组,找出其中的三个数之和为0的所有组合(排除相同的组合)。分析:利用TwoSum 中两指针的思路,我们可以先将数组排序。要找到3个数之和为0,我们可以先固定一个数num[i],将i+1和len-1分别作为头指针和尾指针,当num[i]、num[i+1]与num[len...
分类:其他好文   时间:2015-07-09 00:30:56    阅读次数:122
STL------set和multiset 学习笔记
C++ STL set和multiset1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。...
分类:其他好文   时间:2015-07-08 20:42:39    阅读次数:125
STL - list(双向链表)
List简介 list是一个双向链表容器,可高效地进行插入删除元素。 list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err) #include list对象的默认构造 list采用采用模板类实现,对象的默认构造形式:list lstT; 如: list lstInt; //定义一个存放int的list容器。 list lstF...
分类:其他好文   时间:2015-07-08 16:32:31    阅读次数:135
13:在O(1)时间删除单链表节点
题目:给定单项链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。解析: 删除单向链表中的一个节点,常规做法是必须找到待删除节点的前一个节点才能实现,而这样做的时间复杂度是O(n),无法满足要求。 创新想法:当我们想删除一个节点时,并不一定要删除节点本身,可以用当前节点保存它下一节点的值,然后删除它的下一个节点。情况案例: 1. 输入节点为NULL 2. 单链表只有一个节点,即...
分类:其他好文   时间:2015-07-06 16:03:01    阅读次数:99
黑马程序员—易混淆的知识
String和StringBuffer类区别1.String 是定长的例如:String s1="abc";s1="egf";StringBuffer类:是变成字符串,因为它具有(buffer)缓冲区:StringBuffer类表示的字符串,其内容与长度随时动态可变,可直接对串自身进行插入、删除、修...
分类:其他好文   时间:2015-07-04 09:32:10    阅读次数:111
list双向链表容器应用基础(创建、遍历、插入、删除、归并、排序及连续重复元素剔除等)
不同于采用线性表顺序存储结构的vector和deque容器,list双向链表中任一位置的元素差值、插入和删除,都具有高效的常数阶算法时间复杂度O(1)。 头文件 #include 创建list对象 1)list();//创建一个没有任何元素的list对象。 listl 2)list(size_type n);//创建一个具有n个元素的list对象,每个元素采用它的类型下的默认值。 li...
分类:编程语言   时间:2015-07-03 17:32:46    阅读次数:172
deque双端队列容器(对象创建,数组、迭代器方式访问,元素的赋值、插入、删除等)
deque与vector非常相似,不仅可以在尾部插入和删除元素,还可以在头部插入和删除。不过当考虑到容器元素的内存分配策略和操作性能时,deque相对vector较为有优势。 头文件 #include 创建deque对象 1)deque();//创建一个没有任何元素的deque对象。 deque d 2)deque(size_typen);//创建一个具有n个元素的deque对象,每个...
分类:编程语言   时间:2015-07-03 10:37:31    阅读次数:206
vector的应用(元素遍历、插入、删除、交换等)
这里主要是对vector容器的一些常见应用的总结。至于vector的构造函数及初始化可以参考http://blog.csdn.net/lsh_2013/article/details/21191289,这里不再赘述。 元素的遍历 用迭代器访问vector元素 #include #include using namespace std; int main(void) { vector v...
分类:其他好文   时间:2015-07-02 22:36:12    阅读次数:549
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!