STL
alexander_1314
Good good study and day day up!
展开
-
STL及其使用方法(很全)
1. 概述泛型编程思想最早缘于A.Stepanov提出的部分算法可独立于数据结构的论断。20世纪90年代初A.Stepanov和Meng Lee根据泛型编程的理论用C++共同编写了STL。但直至1998年,STL才成为C++的正式标准。在后来的几年中,各...转载 2018-08-10 17:28:30 · 496 阅读 · 0 评论 -
C++STL之单向链表slist(前向链表forward_list)的使用
/*forward_list操作,前向链表,就是单向链表构造、复制与析构forward_list<Elem> c //默认构造函数;创建一个空forward_listforward_list<Elem> c(c2) //复制构造函数;创建一个新的forward_list作为c2的副本(所有元素都被复制)forward_list<Elem> c = ...原创 2018-08-30 15:51:41 · 1537 阅读 · 0 评论 -
C++STL之list的使用
/*相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。常用函数(1) 构造函数list<Elem> c:创建一个空的listlist<Elem> c1(c2)...转载 2018-08-30 15:47:02 · 213 阅读 · 0 评论 -
C++STL之stack的使用
/*转载自别人的,特此声明。栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS...原创 2018-08-30 15:20:28 · 331 阅读 · 0 评论 -
C++STL之vector的使用
/*vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。vector类常用的函数如下所示:1.构造函数vector() :创建一个空vectorvector(int nSize) : 创建一个v...原创 2018-08-30 15:02:52 · 181 阅读 · 0 评论 -
C++STL之hash_table,hash_map与hash_multimap,hash_set与hash_multiset的使用
hash_table是STL中hash_map 和 hash_set 的内部数据结构,hash_table的插入 / 删除 / 查找的时间复杂度都为O(1),是查找速度最快的一种数据结构,但是hash_table中的数据是无序的,一般也只有在数据不需要排序,只需要满足快速查找 / 插入 / 删除的时候使用hash_table。hash_table的扩展是将原hash_table中的数据摘下来插...原创 2018-08-30 16:35:44 · 1451 阅读 · 0 评论 -
C++STL的set与multiset的使用
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器。set / multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。c++ stl集合set介绍c++ stl集合(Set)是一种包含已排序对象的关联容器。set / multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复...转载 2018-08-30 16:34:22 · 223 阅读 · 0 评论 -
C++STL之map与multimap的使用
/*map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我...原创 2018-08-30 16:26:27 · 261 阅读 · 0 评论 -
C++STL之优先队列的使用
/*priority_queue 优先级队列是一个拥有权值概念的单向队列queue,在这个队列中,所有元素是按优先级排列的(也可以认为queue是个按进入队列的先后做为优先级的优先级队列——先进入队列的元素优先权要高于后进入队列的元素)。在计算机操作系统中,优先级队列的使用是相当频繁的,进线程调度都会用到。在STL的具体实现中,priority_queue也是以别的容器作为底部结构,再根...原创 2018-08-30 16:21:18 · 287 阅读 · 0 评论 -
C++STL之queue的使用
参考别人的哈,特此声明。/*queue单向队列与栈有点类似,一个是在同一端存取数据,另一个是在一端存入数据,另一端取出数据。单向队列中的数据是先进先出(First In First Out, FIFO)。在STL中,单向队列也是以别的容器作为底部结构,再将接口改变,使之符合单向队列的特性就可以了。因此实现也是非常方便的。下面就给出单向队列的函数列表和VS2008中单向队列的源代码。单向...原创 2018-08-30 16:17:56 · 257 阅读 · 0 评论 -
STL系列
STL系列之一 deque双向队列分类: STL 他山之石 2011-11-08 09:52 7949人阅读 评论(8)收藏 举报deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相...转载 2018-08-12 21:26:11 · 985 阅读 · 0 评论 -
C++中string类知识点总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后...转载 2018-08-11 15:44:13 · 464 阅读 · 0 评论 -
C++STL之deque的使用
参考别人的哈,特此声明。#include &lt;deque&gt;/*deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域,这个区域称为缓冲区,缓冲区用来保存deq...原创 2018-08-30 16:06:39 · 813 阅读 · 0 评论