- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5、泛型程序设计与C标准模板库教程
;主要内容;泛型程序设计;STL组件之间的关系;示例;示例;容器;容器分类;所有容器共有函数;顺序容器和关联容器共有函数;适配器;迭代器;算法;顺序容器;顺序容器——向量;向量的函数-1;向量的函数-2;向量的函数-3;向量的函数-3;向量操作;//1.cpp
#include iostream
#include iomanip
#include vector //包含向量容器头文件
using namespace std ;
int main()
{
vectorint A(10);
int n;
int primecount = 0, i, j;
coutEnter a value=2 as upper limit: ;
cin n;
A[primecount++] = 2; ; for(i = 3; i n; i++)
{ if (primecount == A.size())
A.resize(primecount + 10);
if (i % 2 == 0)
continue;
j = 3;
while (j = i/2 i % j != 0)
j += 2;
if (j i/2) A[primecount++] = i;
}
for (i = 0; iprimecount; i++)//输出质数
{ coutsetw(5)A[i];
if ((i+1) % 10 == 0) //每输出10个数换行一次
cout endl;
}
coutendl;
};顺序容器——双端队列;*;*;顺序容器——列表;//3.cpp
#include iostream
#include list
using namespace std ;
int main()
{
listint Link; //构造一个列表用于存放整数链表
int i, key, item;
for(i=0;i 10;i++)// 输入10个整数依次向表头插入
{
cinitem;
Link.push_front(item);
}
coutList: ; // 输出链表; listint::iterator p=Link.begin();
while(p!=Link.end())//输出各节点数据,直到链表尾
{ cout *p ;
p++; //使P指向下一个节点
}
cout endl;
cout 请输入一个需要删除的整数: ;
cin key;
Link.remove(key);
cout List: ; // 输出链表
p=Link.begin(); // 使P重新指向表头
while(p!=Link.end())
{ cout *p ;
p++; // 使P指向下一个节点
}
cout endl;
};容器适配器;#include iostream
#include queue //声明Queue容器适配器头文件
using namespace std;
template class T
void popElements( T s );
int main()
{ queue int intDequeQueue; // 默认情况下以Queue容器作为基础数据结构
for ( int i = 0; i 10; ++i ) {
intDequeQueue.push( i ); //用push函数将整数添加到deque容器Queue顶部
}
cout Popping from intDequeQueue: ;
popElements( intDequeQueue ); //将Queue中的元素弹出并输出
cout endl;
};template class T
void popElements( T s ) //定义模板函数
{
while ( !s.empty() ) {
cout s.front() ; //用函数front读取Queue顶上的元素并输出
s.pop(); //用函数pop删除顶上的元素
}
};什么是迭代器;迭代器的类型;迭代器适配器;#include iostream
#include vector
#include algorithm
using namespace std;
int main()
{
int A[] = {1, 2, 3
文档评论(0)