- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++ 和C++ STL
——C语言从入门到放弃
主要内容
string
queue priority_queue deque
stack
vector
set multiset unorder_set unorder_multiset
map multimap unorder_map unorder_multimap
bitset
list
literator
C++ I/O
输入输出流
自动推断数据类型
控制格式比较麻烦
要和stdio进行同步,速度很慢,大量的输入输出使用C++ I/O可能会造成TLE
可以取消与stdio的同步,但是再次使用scanf等stdio的时候,会造成WA或者RE,甚至是RF
C++ I/O示例代码
C++ Iterators(迭代器)
迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针。
input_iterator
提供读功能的向前移动迭代器,它们可被进行增加(++),比较与解引用(*)。
output_iterator
提供写功能的向前移动迭代器,它们可被进行增加(++),比较与解引用(*)。
forward_iterator
可向前移动的,同时具有读写功能的迭代器。同时具有input和output迭代器的功能,并可对迭代器的值进行储存。
bidirectional_iterator
双向迭代器,同时提供读写功能,同forward迭代器,但可用来进行增加(++)或减少(--)操作。
random_iterator
随机迭代器,提供随机读写功能.是功能最强大的迭代器, 具有双向迭代器的全部功能,同时实现指针般的算术与比较运算。
reverse_iterator
如同随机迭代器或双向迭代器,但其移动是反向的。
C++ Strings(字符串)
构造
string();
创建一个空的string。
string( size_type length, char ch );
创建一个长度为length,填充为ch字符的string。
string( const char *str );
创建一个string,内容和C字符串str的内容相同。
string( const char *str, size_type length );
创建一个string,内容为C字符串str的前length位。
string( string str, size_type index, size_type length );
创建一个string,内容为C字符串str的以index为起始下标,长度为length。
string( input_iterator start, input_iterator end );
创建一个string,内容为迭代器start到end直接的内容,不包含end
C++ string构造示例
String的I/O可以直接用cin/cout搞定
注意观察是怎样调用构造函数的
这里有三种不用的构造姿势,但是最终都只调用的一个相同的构造函数
操作
begin();
begin()函数返回一个迭代器,指向字符串的第一个元素.
end();
end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置).
length();
length()函数返回字符串的长度. 这个数字应该和size()返回的数字相同.
substr( size_type index, size_type num = npos );
substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值 string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。
操作符
你可以用 ==, , , =, =, !=比较字符串. 可以用 + 或者 += 操作符连接两个字符串, 并且可以用[]获取特定的字符.
C++ Queues(队列)
C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
构造:
type可以是任何的数据类型,包括类或者结构体。
操作
TYPE back();
返回一个引用,指向队列的最后一个元素。
bool empty();
返回真(true)如果队列为空,否则返回假(false)。
TYPE front();
返回队列第一个元素的引用。
void push( const TYPE val );
往队列中加入一个元素。
void pop();
删除队列的第一个元素。
size_type size();
返回队列中元素的个数。
Stacks(堆栈)
C++ Stack(堆栈) 是一个容器类的改编,
您可能关注的文档
- 防洪排涝2014概览.ppt
- 火工品第五章点火具(王茜)讲义.ppt
- 防洪评价指南概览.ppt
- Avaya视频会议方案案例.pptx
- sixmigma管理案例.ppt
- 防火隔离带相关概览.ppt
- 防火墙讲义概览.ppt
- 防火墙系统概览.ppt
- BHX500标准作业流程案例.pptx
- x射线衍射案例.ppt
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)