
STL-编程
文章平均质量分 77
ouyangshima
找到心中的那份自信
技术不牢,地动山摇
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[STL基础]栈、队列、优先队列之用法
栈、队列、优先队列栈stack 网上实例队列queue 网上实例优先队列priority_queue 网上实例#include #include #include #include #includeusing namespace std; //栈stack的用法void test0(){ stack st; for (int i=0;i<原创 2013-01-08 18:20:01 · 2981 阅读 · 0 评论 -
[STL基础]STL概述+总结
什么是STLSTL就是StandardTemplateLibrary,标准模板库。STL是泛型编程的实例,用到的技术就是类模板和函数模板。STL的一个重要特点是数据结构和算法的分离。模板:所谓模板是一种使用无类型参数来产生一系列函数或类的机制。通过模板可以产生类或函数的集合,使它们操作不同的数据类型,从而避免需要为每一种数据类型产生一个独立的类或函数。STL简介STL的代码从...原创 2013-01-03 23:34:32 · 1895 阅读 · 0 评论 -
[STL基础]双端队列deque之用法
deque上网实例list的函数共有五大类:定义及初始化,增加删除元素,访问元素,返回迭代器,其他#include #include #include #includeusing namespace std; //定义及初始化;无返回值或voidvoid PrintDequeInt(deque param){ for (deque::iterator iter=原创 2013-01-07 23:25:00 · 1919 阅读 · 0 评论 -
[STL基础]线性表vector之用法
Vector 网上教程有实例的vector的函数共有五大类:定义及初始化,增加删除元素,访问元素,返回迭代器,获取设置长度容器 #include #include #include #includeusing namespace std; //定义及初始化;返回void或无返回值void test0(){ vector v;//只定义了v,没有分配内存空间原创 2013-01-06 03:14:14 · 1942 阅读 · 0 评论 -
[STL基础]双向链表List之用法
list网上实例 list的函数共有五大类:定义及初始化,增加删除元素,访问元素,返回迭代器,其他#include #include #include #include #includeusing namespace std; void PrintListInt(list& param){ for (list::iterator iter=param.begin(原创 2013-01-07 02:10:41 · 3011 阅读 · 1 评论 -
[STL基础]set集合
网上实例#include #include #include #includeusing namespace std; /*set和multiset的内部结构通常是由平衡二叉树来实现的。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less<>排序规则来排序。这种自动排序的特性加速了元素查找的过程,但是也带来了一个问题,不可以直接修改set或multiset容器原创 2013-01-18 01:25:47 · 2661 阅读 · 0 评论 -
[STL基础]multiset多重集合
网上实例 #include #include #include #includeusing namespace std; //multiset多重集合与set集合的区别:multiset可以拥有多个相同的元素,而set中的元素是唯一的。由此,其函数的不同:erase()参数是元素时,会删除其全部相同的数据。其他的函数与用法与set完全一致。/*set和multiset的内部原创 2013-01-18 15:06:51 · 1867 阅读 · 0 评论 -
[STL基础]multimap多级映射
multimap与map的不同就是:multimap允许关键字key重复,multimap不允许用数组的方式进行赋值 网上实例#include #include #include #includeusing namespace std; //定义及初始化;没有返回值,或voidvoid test0(){ multimap first; first.ins原创 2013-01-15 18:54:51 · 2275 阅读 · 0 评论 -
泛型编程——模板机制
C++软件重用的体现1.面向对象的思想:继承和多态,标准类库2.泛型程序设计的思想:模板机制,标准模板库STL泛型程序设计泛型程序设计,简单地说就是使用模板的程序设计法。将一些常用的数据结构(eg:链表,数组,二叉树)和算法(eg:排序,查找)写成模板,以后则不论数据结构里面放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。标准模板库就是一些常见数据...原创 2013-01-30 13:29:49 · 1314 阅读 · 0 评论 -
[STL基础]pair组对单位模板类
pair模板类用来绑定两个对象为一个新的对象,该类型在头文件中定义pair模板类支持如下操作pair p1:创建一个空的pair对象,它的两个元素分别是T1和T2类型,采用值初始化pari p1(v1,v2):创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2make_pair(v1,v2):以v1和v2值创建一个新的p原创 2013-01-27 15:30:58 · 1612 阅读 · 0 评论 -
[STL基础]算法
算法简介STL中提供能在各种容器中通用的算法,比如插入,删除,查找,排序等。大约有70中标准算法。算法就是一个个函数模板算法通过迭代器来操作容器中的元素。许多算法需要两个参数,一个是起始元素的迭代器,一个是终止元素的迭代器。比如,排序和查找有的算法返回一个迭代器。比如find()算法,在容器中查找一个元素,并返回一个指向该元素的迭代器算法可以处理容器,也可以处理数组算法分类大致原创 2013-01-27 18:09:58 · 1491 阅读 · 0 评论 -
[STL基础]函数对象
函数对象:是个对象,但是用起来看上去像函数调用,实际上也执行了函数调用 函数对象:调用操作符的类,其对象常称为函数对象,即它们是行为类似于函数的对象。它是通过重载类的operator()来实现的。eg:对于 double d=average(3,2,3);中的average可以使普通函数,也可以是函数对象 Average average; #include #includeusin原创 2013-01-27 16:42:18 · 1088 阅读 · 0 评论 -
[STL基础]Iterator迭代器
迭代器基本操作用于指向第一类容器(顺序容器(vector,deque,list)和关联容器(set,multiset,map,multimap))中的元素。有const和非const两种通过迭代器可以读取它指向的元素,通过非const迭代器还能修改其指向的元素。迭代器用法和指针类似定义一个容器类的迭代器的方法可以使:容器类名::iterator 变量名;或容器类名::const_itera原创 2013-01-26 02:40:30 · 1989 阅读 · 0 评论 -
[STL基础]顺序容器
容器同一种类型对象的集合。这些容器的共有成员函数:empty()判断容器中是否有元素,max_size()容器中最多能装多少元素,swap()交换两个容器的内容。比较两个容器大小的运算符:=,,>=,==,!=1.若两容器长度相同、所有元素相等,则两个容器就相等,否则为不等。2.若两容器长度不同,但较短容器中所有元素都等于较长容器中对应的元素,则较短容器小于另一个容器。3.若两个容原创 2013-01-10 15:50:44 · 1322 阅读 · 0 评论 -
[STL基础]map映射,hash_map
关联容器,通过 键 存储和读取元素。顺序容器,通过元素在容器中的位置顺序存储和读取元素。关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。map映射map是标准关联式容器之一,map是一个键值对序列,即(key,value)对,是二元容器。它提供了基于key的快速检索能力,在一个map中key值是唯一的。m原创 2013-01-14 21:10:58 · 1730 阅读 · 0 评论