STL
文章平均质量分 83
susandebug
keep moving
展开
-
STL——stack/queue 的使用方法 C++
1、stackstack 模板类的定义在头文件中。stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack 对象的示例代码如下:stack s1;stack s2;stack 的基本操作有:入栈,如例:s.push(x);出栈,如例:s.pop();注意,出栈操作只是转载 2015-06-25 12:32:45 · 782 阅读 · 0 评论 -
STL—— deque双向队列
STL系列之 deque双向队列deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域转载 2015-09-16 19:54:34 · 483 阅读 · 0 评论 -
STL——priority_queue 优先级队列
STL系列之 priority_queue 优先级队列priority_queue 优先级队列是一个拥有权值概念的单向队列queue,在这个队列中,所有元素是按优先级排列的(也可以认为queue是个按进入队列的先后做为优先级的优先级队列——先进入队列的元素优先权要高于后进入队列的元素)。在计算机操作系统中,优先级队列的使用是相当频繁的,进线程调度都会用到。在STL的具体实现中,prio转载 2015-09-16 20:07:44 · 586 阅读 · 0 评论 -
STL——heap堆
STL系列之heap堆下面再介绍STL中与堆相关的4个函数——建立堆make_heap(),在堆中添加数据push_heap(),在堆中删除数据pop_heap()和堆排序sort_heap():头文件 #include 下面的_First与_Last为可以随机访问的迭代器(指针),_Comp为比较函数(仿函数),其规则——如果函数的第一个参数小于第二个参数应返回true,转载 2015-09-16 20:02:04 · 552 阅读 · 0 评论 -
STL—— queue 单向队列
STL系列之 queue 单向队列queue单向队列与栈有点类似,一个是在同一端存取数据,另一个是在一端存入数据,另一端取出数据。单向队列中的数据是先进先出(First In First Out,FIFO)。在STL中,单向队列也是以别的容器作为底部结构,再将接口改变,使之符合单向队列的特性就可以了。因此实现也是非常方便的。下面就给出单向队列的函数列表和VS2008中单向队列的源代码。转载 2015-09-16 19:59:06 · 523 阅读 · 0 评论 -
STL—— stack栈
STL系列之 stack栈栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS2008中转载 2015-09-16 19:57:17 · 441 阅读 · 0 评论 -
STL—— set与hash_set
STL系列之 set与hash_setset和hash_set是STL中比较重要的容器,有必要对其进行深入了解。在STL中,set是以红黑树(RB-tree)作为底层数据结构的,hash_set是以Hash table(哈希表)作为底层数据结构的。set可以在时间复杂度为O(logN)情况下插入、删除和查找数据。hash_set操作的时间复杂度则比较复杂,这取决于哈希函数和哈希表的负载情况转载 2015-09-16 20:13:06 · 477 阅读 · 0 评论 -
关于 STL 中的 heap ( 堆 )
关于 STL 中的 heap ( 堆 )转自: http://www.cnblog.com/MiYu C ++ STL 中与heap 有关的操作有 如下几个 :make_heap(), pop_heap(), push_heap(), sort_heap(), is_heap; is_heap() :原型如下 :转载 2015-09-16 16:40:32 · 419 阅读 · 0 评论 -
线性表、栈、队列
线性表、栈、队列1.线性表线性表有两种实现方式:顺序表和链表具体实现见书上66页顺序表的缺点是大小是事先固定的,当所存元素较少时,浪费很多空间。链表的缺点是每个结点上附加一个指针开销。线性表适合查询,访问。而链表适合插入,删除。 还有一种结构是双链表,包括一个prev和一个next指针。 2.栈stack栈是限定仅在一端进行插入或者删除操作的线性表。原创 2015-07-01 22:44:12 · 793 阅读 · 0 评论 -
STL Associative Containers Types:map、set、multimap、mutilset以及对应的unordered类型
相信有不少同学和我一样刚接触C++ STL,被其深深吸引。但是想弄懂每个模板类不是一个容易事。大家应该对vector、list、stack、queue等类比较了解了,所以今天详细介绍下几个很常用很强大但有点不太好懂的类map、multimap、unordered_map、unordered_multimap。乍一看都差不多都是什么map,但这肯定有所不同。下面就在一个一个讲解的同时,让大家了解这四转载 2015-06-23 19:11:08 · 694 阅读 · 0 评论 -
STL map使用方法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有转载 2015-06-26 20:10:25 · 821 阅读 · 0 评论 -
STL中hash_map深度剖析—使用自定义类型
原文地址:http://blog.csdn.net/sdhongjun/article/details/4517325今天在使用STL中的hash_map模板遇到使用PTCHAR作为Key时无法对字符串进行正确比较的问题,在网上查找相应的文章可惜没有找到,但找到了http://www.stlchina.org/twiki/bin/view.pl/Main/STLDetailHashMa转载 2015-06-26 21:34:33 · 1917 阅读 · 0 评论 -
C++ STL中哈希表 hash_map从头到尾详细介绍
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信转载 2015-06-26 19:49:58 · 70698 阅读 · 3 评论 -
priority_queue
priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include转载 2016-05-23 15:19:02 · 427 阅读 · 0 评论