c++_stl讲解
stl的常用操作以及重难点讲解
IOT_SHUN
这个作者很懒,什么都没留下…
展开
-
stl之链表List
C++ Lists(链表)Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. 说起这个访问速率呢?给大家举个很简单的例子向量(vectors) 也就是顺序表,它的存储方法就类似于c语言的数组,那么数组可以通过下标来访问,所以效率快而用向量表存储数据,假如需要大量地插入,删除数据,效率就很慢了,为什么呢?原因 如图...原创 2018-03-15 11:37:51 · 824 阅读 · 0 评论 -
stl之Stack
C++ Stacks(堆栈)C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。操作比较和分配堆栈empty()堆栈为空则返回真pop()移除栈顶元素push()在栈顶增加元素size()返回栈中元素数目top()返回栈顶元素与queue一样,stack同样不设也不设迭代器#include <iostream&...原创 2018-03-15 20:35:44 · 202 阅读 · 0 评论 -
Queues
C++ Queues(队列)C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。 back()返回最后一个元素empty()如果队列空则返回真front()返回第一个元素pop()删除第一个元素push()在末尾加入一个元素size()返回队列中元素的个数queue没有迭代器;#include <iostream>#include <queue>us...原创 2018-03-15 19:24:04 · 855 阅读 · 0 评论 -
stl之deque(双向队列)
C++ Double Ended Queues(双向队列)双向队列和向量很相似,但是它可以高效的在头尾两端插入和删除元素(就像在尾部一样)。而且和向量另一个不一样的地方是双向队列采用的是一个连续的内存块。Constructors创建一个新双向队列Operators比较和赋值双向队列assign()设置双向队列的值at()返回指定的元素back()返回最后一个元素begin()返回指向第一个元素的迭...原创 2018-03-15 19:39:30 · 312 阅读 · 0 评论 -
C++ Priority Queues(优先队列)
++ Priority Queues(优先队列)C++优先队列类似队列,但是在这个数据结构中的元素按照一定的断言排列有序。#include <iostream>#include <queue>using namespace std;int main(int argc, char *argv[]){ priority_queue<int> que; q...原创 2018-03-15 20:50:11 · 457 阅读 · 0 评论 -
bitset操作
bitset是stl的一个集合,bitset包含了用于定义,置1,置0,反转,检测,一个数据对应二进制位的方法,换句话说bitset方便了我们对数据进行位运算操作。bit的构造函数: bitset(); bitset( unsigned long val );C++ Bitsets能以无参的形式创建,或者提供一个长无符号整数,它将被转化为二进制,然后插入到bitset中。当创建b...原创 2018-03-14 19:44:18 · 458 阅读 · 0 评论 -
set集合(如何自定义储存数据类型)
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。构造set集合主要...原创 2018-03-14 22:44:53 · 6863 阅读 · 0 评论 -
C++ pair的用法实例详解(结构体模板应用初探)
1 pair的应用(结构体模板)pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。头文件:#include<utility>类模板:template <class T1, class T2> struct pair定义方法: ...原创 2018-03-14 23:31:52 · 1938 阅读 · 0 评论 -
stl结构体模板
上一篇文章我们提到了c++结构体模板的经典应用pair模板,发现功能异常强大,想必我们的小伙伴肯定已经为c++模板的奥秘所深深吸引,(哈哈!!假装有人在看,心酸)讲c++结构体模板之前,现在我们默认我们同学已经对c++函数模板,类模板有所了解了,恩!!还是上图讲一下吧那c++模板类型主要有3种1.函数模板//函数模板---使用体现:调用函数时传递的参数类型。template<class 数据...原创 2018-03-15 10:41:26 · 1191 阅读 · 0 评论 -
stl之multimap
C++ MultiMapsC++ Multimaps和maps很相似,但是MultiMaps允许重复的元素。begin()返回指向第一个元素的迭代器clear()删除所有元素count()返回一个元素出现的次数empty()如果multimap为空则返回真end()返回一个指向multimap末尾的迭代器equal_range()返回指向元素的key为指定值的迭代器对erase()删除元素fin...原创 2018-03-15 20:25:46 · 213 阅读 · 0 评论 -
c++面试题
今天,算正式辞职了,然后陈老师也加入求职大军啦!不过时间不长,仅过半天,陈老师又收了份新的工作邀请啦,嗯!不过呢,难得辞职一次,先看看吧哈哈,从事培训行业一年了,想想整天和学生接触,真的觉得自己活力满满,回首一年的工作,虽说尚有不足,不过也算无愧于心(其实呢,私下里,每每调侃自己金牌销售,拉皮条,不过我真的很用心在拉哦),玩笑归玩笑,说句良心的我们做IT教育真的是用心的 至于为什么离职?我的...原创 2018-03-15 21:11:29 · 495 阅读 · 0 评论 -
stl之map
C++ MapsC++ Maps是一种关联式容器,包含“关键字/值”对,与multimap的区别是,Map的元素不重复,第一个为关键字,第二个为关键字所对应的值。map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。如果map的键是用户自定义的类型T,那么你还必须在T中实现比较运算符,至于具体的细节这里就不说了。第一个因为...原创 2018-03-15 21:14:52 · 248 阅读 · 0 评论