文档详情

《C++类模板与STL编程.ppt

发布:2016-12-23约3.15万字共54页下载文档
文本预览下载声明
第10章 类模板与STL编程 第10章 类模板 1. 类模板的定义 1. 类模板的定义 1. 类模板的定义 1. 类模板的定义 2. 类模板的实例化 2. 类模板的实例化 2. 默认模板参数 10.2 类模板应用 1. 栈类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 2.链表类模板 10.4 本章小结 C++语言程序设计教程 第10章 类模板 10.3.3 顺序容器 表10-4 deque容器中较为重要的成员函数 函 数 名 push_front pop_front push_back pop_back insert erase clear front back begin end rbegin rend max_size size empty capacity at(n) swap(x) operator[] 功 能 说 明 在容器前端增加元素 在容器前端删除元素 在容器后端增加元素 在容器后端删除元素 在容器中间插入元素 删除容器中间的元素 清除容器内的元素 返回容器前端元素的引用 返回容器末端元素的引用 返回容器前端的迭代器 返回容器末端的迭代器 返回容器前端的倒转迭代器 返回容器末端的倒转迭代器 返回容器可存储元素的最大个数 返回当前容器中的元素个数 若容器为空(无元素)则返回true,否则返回false 返回当前容器可以存储的最大元素个数 返回第n个元素的引用 与容器x(deque容器)互换元素 利用[]运算符取出容器中的元素 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. C++语言程序设计教程 第10章 类模板 10.3.3 顺序容器 为了更好的使用3种标准顺序容器,STL还设计了3种容器适配器(container adapter):队列(queue)、优先队列(priority queue)和栈(stack)。容器适配器可以将顺序容器转换为另一种容器,也就是以顺序容器为基础,将其转换为新的容器。转换后的新容器将具有新的特殊操作要求。 表10-4 容器适配器 容器类名 queue (队列) priority queue (优先队列) stack (栈) 特性 在一端插入元素,在另一端取出元素,具有先进先出(first in, first out, FIFO)的特性,插入和删除都较快。 每个元素都有一个优先级,元素按优先级的顺序从队列中删除,如果优先级相同,则仍然遵循先进先出规则。插入和删除都比一般的简单队列慢,因为必须对元素重新调整顺序,以支持按优先级排序。 在一端插入元素,在同一端删除元素,具有先进后出(first in, last out, FILO)的特性。 何时使用 需要一个FIFO结构时使用队列。 需要一个带优先级的FIFO结构时使用优先队列。 需要一个FILO结构时使用栈。 头文件 queue queue stack Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. C++语言程序设计教程 第10章 类模板 10.3.3 顺序容器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /************************************* * 程序名:p10_4.cpp * * 功 能:队列容器示例程序 * *************************************/ #includeiostream #includequeue using namespace std; templateclass T void print(queueT q) { if(q.empty()) //判断队列是否空 coutQueue is empty!endl; else { int j=q.size(); for(int i=0; ij;i++) { cout
显示全部
相似文档