- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C面试题之容器
标准模板库
==头文件==
#ifndef PRINT_H
#define PRINT_H 1
//输出一个指定区间中的所有数据(含头不含尾)
#include iostream
using namespace std;
template typename T
void print(T b,T e,char c= )
{
while(b!=e)
cout*b++c;
coutendl;
}
#endif
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
/*
标准容器(类模板)共性:
构造函数:无参构造,拷贝构造,区间构造(两个迭代器表示的两个位置)
析构:
迭代器相关:正向 .begin(), .end(), 反向 .rbegin(), .rend()
iterator,reverse_iterator,const_iterator,const_reverse_irerator
* - = ++ == != --
插入:isert(pos,element),其中pos表示插入为位置,是一个迭代器
删除:.erase(pos), erase(pos_beg,pos_end)
清除:.clear()
大小:.size(), .max_size(), .empty()
交换:.swap(c2), swap(c1,c2)
运算符:= = = == !=
*/
#include iostream
#include vector
#include algorithm
using namespace std;
#include print.h
int main()
{
int a[5]={33,11,55,22,44};
vectorint vi(a,a+5);//创建一个数据空间
coutvi.size()endl;
sort(vi.begin(),vi.end());
vectorint::iterator b=vi.begin();
while(b!=vi.end())
cout*b++ ;
coutendl;
for(int i=0;i5;i++)
couta[i] ;
coutendl;
print(vi.begin(),vi.end());
print(a,a+5); print(vi.rbegin(),vi.rend());
b=vi.begin();
vi.insert(++++b,66);//在指定位置插入数据
vi.insert(vi.begin(),77); vi.insert(vi.end(),88);
print(vi.begin(),vi.end());
coutvi.size()/vi.max_size()endl;
vi.erase(------vi.end());//删除指定位置的元素
print(vi.begin(),vi.end());
vi.erase(++++vi.begin(),--vi.end());//删除区间
print(vi.begin(),vi.end());
vectorint v2(a,a+5);
print(v2.begin(),v2.end());
vi.swap(v2);
cout---------------------------endl;
print(vi.begin(),vi.end());
print(v2.begin(),v2.end());
swap(vi,v2);
cout---------------------------endl;
print(vi.begin(),vi.end()); print(v2.begin(),v2.end());
vectorint t=vi; vi=v2; v2=t;
cout=========================endl;
print(vi.begin(),vi.end()); print(v2.begin(),v2.end());
vi.clear();
coutvi.size()endl;
print(vi.begin(),vi.end());
vectorint x;
coutvector当前容量:x.capacity()endl;
}
/*
5
11 22 33 44 55
33 11 55 22 44
11 22 33 44 55
33 11 55 22 44
55 44 33 22 11
77 11 22 66 33 44 55 88
8/1073741823
77 11 22 66 33 55 88
77 11 88
33 11 55 22 44
文档评论(0)