顺序容器(Vector和List)

int main()
{
list< deque<int> > lst;//list对象存储deque对象
//因为容器中的元素支持复制个赋值操作,而iostream类型不支持赋值和复制操作,所以容器不能够用来存储iostream对象
vector<string> alist(10,"hudiid");
list<string> lis(alist.begin(),alist.end());
vector<string>::iterator mid = alist.begin() + alist.size()/2;
deque<string> front(alist.begin(),mid);
deque<string> back(mid,alist.end());


char *words[] = {"111","222","333"};
size_t words_size = sizeof(words)/sizeof(char*);//size_t即typedef unsign int size_t
list<string> words2(words,words+words_size); 




for(list<string>::iterator iter = words2.begin(); iter!=words2.end();++iter)
{
//cout<<*iter<<endl;
}


for(list<string>::iterator iter = words2.end();iter!=words2.begin();)
{
cout<<*(--iter)<<endl;
}





list<string>::size_type list_size = 64;
vector<string>::iterator iter =  alist.begin() + alist.size()/2;
list<string> ilist(alist.begin(),alist.end());
//ilist.begin()+ilist.size()/2;//顺序容器list不能够使用在算术运算符(iter+n、iter1+iter2,>,>=)中
//也不能够使用==和!=之外的其他的关系操作符来比较两个迭代器


const vector < int > ivec(10);
//vector<int> it = ivec.begin();//因为返回的迭代器为const类型,所以不能够初始化


//如果迭代器first和last标记出有效地迭代范围,则必须满足:first和last指向同一个容器中的元素或超出末端的下一个元素


vector<int> iivec;
int istr;


cout<<"please input ints:"<<endl;
while(cin >>istr)//向vector中输入数字
{
iivec.push_back(istr);
}


}
//在指定的迭代器范围寻在元素
bool findInt(vector<int>::iterator beg,vector<int>::iterator end,int ival)
{
while(beg!=end)
{
if(*beg==ival)
{
break;
}
else
{
++beg;
}
}


if(beg!=end)
return true;
else
return false;

}
---------------------------------------------------------\
判断两个容器的元素是否相等
vector<int> ivec;
list<int> ilist;
int val;


cout<<"Enter some numbers for vector:"<<endl;
while(cin>>val)
{
ivec.push_back(val);
}
cin.clear();//使流对象重新置为有效状态


cout<<"Enter some numbers for list:"<<endl;
while(cin>>val)
{
ilist.push_back(val);
}


vector<int>::iterator iter1 = ivec.begin();
list<int>::iterator  iter2=ilist.begin();


while(iter1!=ivec.end() && iter2!=ilist.end())
{
if(*iter1!=*iter2)
break;
++iter1;
++iter2;
}


if(iter1==ivec.end() && iter2==ilist.end())
{
cout<<"Vector and List have the same emle";
}
else
{
cout<<"Have not the elem"<<endl;
}
---------------------------------------

vector<int> ivec;
int ival;


while(cin>>ival)
ivec.push_back(ival);


if(ivec.empty())
cout<<"The Vector is NULL";
else
{//获取容器中的第一个元素的三种方式
cout<<"First element is:"<<ivec[0]<<endl;
cout<<"First element is:"<<ivec.front()<<endl;
cout<<"First element is:"<<*ivec.begin()<<endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值