元素的插入
L.push_back(elem);//向容器的末尾插入元素elem的拷貝
L.push_front(elem); //向容器的開(kāi)端插入元素elem的拷貝
L.insert(position, elem); //向容器的position位置插入元素elem的拷貝
L.insert(position, n, elem); //向容器的position位置上插入元素elem的n個(gè)拷貝
L.insert(position, beg, end); //將迭代器beg至 end-1 指向的內(nèi)容插入到容器的position位置上
L.splice(position, list); //將鏈表容器list中的元素插入到position位置上,并且清空l(shuí)ist容器
L.splice(position, list, pos); //將容器list中的pos位置上的元素插入到position位置上合冀,并將pos位置上的元素從list中移除
L.splice(position, list, beg, end); //將容器list中beg 至 end-1 位置上的元素插入到position位置上各薇,并將這些元素從list中移除
列表(list)
用于數(shù)組
例題1:
#include<iostream>
using namespace std;
#include <list>
int main()
{
int cpp[5]={3,4,5,7,3};
int java[8]={7,4,2,5,3,3,7,3};
int Unix[4]={5,2,5,8};
list<int>li;
li.insert(li.begin(),cpp,cpp+5);
li.insert(li.begin(),java,java+8);
li.insert(li.begin(),Unix,Unix+4);
li.sort();//排序 (從小到大)
li.unique();//去重復(fù)
li.reverse();//反轉(zhuǎn) (從大到小)
list<int>::iterator it=li.begin();
while(it!=li.end())
cout<<*it++<<' ';
cout<<endl;
}
運(yùn)算結(jié)果:
8 7 5 4 3 2
----------------------------------------------------------------------------------------------------
例題2:
#include<iostream>
using namespace std;
#include <list>
int main()
{
list<int> l1;
int a[5]={3,4,5,7,3};
list<int>l2(a,a+5);
cout<<"l1.size():"<<l1.size()<<endl;
cout<<"l2.size():"<<l2.size()<<endl;
list<int>::iterator it;
for(it=l2.begin();it!=l2.end();it++)
cout<<*it<<' ';
cout<<endl;
it=l2.begin();
it++;
l2.erase(it);
l2.insert(l2.begin(),100);//在第一個(gè)位置插入數(shù)據(jù)100
l2.insert(l2.end(),200);//在末尾插入數(shù)據(jù)200
for(it=l2.begin();it!=l2.end();it++)
cout<<*it<<' ';
cout<<endl;
}
運(yùn)行結(jié)果:
l1.size():0
l2.size():5
3 4 5 7 3
100 3 4 5 7 3 200
映射(map)
用于一個(gè)數(shù)字對(duì)應(yīng)一個(gè)字符
例題1:
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
map<int,string>mis;
mis.insert(make_pair(62,"東方不敗"));
mis.insert(make_pair(32,"岳不群"));
mis.insert(make_pair(36,"林平之"));
map<int,string>::iterator it;
it=mis.begin();
while(it!=mis.end())
{
cout<<it->first<<":"<<it->second<<endl;
++it;
}
}
運(yùn)行結(jié)果:
32:岳不群
36:林平之
62:東方不敗
----------------------------------------------------------------------------------------------------
例題2:
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
map<int,string>mis;
mis.insert(make_pair(0,"zero"));
mis.insert(make_pair(1,"one"));
mis.insert(make_pair(2,"two"));
mis.insert(make_pair(3,"three"));
mis.insert(make_pair(4,"four"));
mis.insert(make_pair(5,"five"));
mis.insert(make_pair(6,"six"));
mis.insert(make_pair(7,"seven"));
mis.insert(make_pair(8,"eight"));
mis.insert(make_pair(9,"nine"));
map<int,string>::iterator it;
int a;
cin>>a;
for(it=mis.begin();it!=mis.end();it++)
{
if(it->first==a)
{
cout<<it->second<<endl;
}
}
}
在鍵盤上輸入3
運(yùn)行結(jié)果:
three
----------------------------------------------------------------------------------------------------
另一種寫(xiě)法:
#include<iostream>
#include<map>
using namespace std;
int main()
{
int j,i;
char* word[]={"zero","one","two","three","four","five","six","seven", "eight","nine"};
int num[]={0,1,2,3,4,5,6,7,8,9};
map<char*,int> mcs;
map<char*,int>::iterator mite;
for(i=0;i<10;i++)
mcs[word[i]]=num[i];
for(mite=mcs.begin();mite!=mcs.end();
mite++)
cout<<mite->first<<'\t'<<mite->second<<endl;
cin>>i;
for(mite=mcs.begin(),j=0;j<i;j++)
mite++;
cout<<mite->first<<"\t"<<mite->second<<endl;
return 0;
}
運(yùn)行結(jié)果:
zero 0
one 1
two 2
three 3
four 4
five 5
six 6
seven 7
eight 8
nine 9
在鍵盤上輸入5
five 5
vector
例題1:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<int>num;
int main()
{
int element;
while(cin>>element)
{
num.push_back(element);
}
for(vector<int>::iterator it1=num.begin();it1<num.end();)
{
if(*it1==9)
{
it1=num.erase(it1);//刪除指定數(shù)據(jù)9
}
else
{
it1++;
}
}
for(vector<int>::iterator it2=num.begin();it2<num.end();it2++)
{
cout<<*it2<<' ';
}
cout<<endl;
return 0;
}
在鍵盤上輸入數(shù)據(jù)3 4 5 6 6 7 9 4 5.44
運(yùn)行結(jié)果:
3 4 5 6 6 7 4 5
練習(xí)2:
#include <iostream>
#include <vector>
using namespace std;
class Test
{
int m_t;
public:
Test()
{
}
void lianxi()const
{
cout<<"lianxi const"<<endl;
}
void lianxi()
{
cout<<"lianxi"<<endl;
}
};
int main()
{
const Test t1;
t1.lianxi();
Test t2;
t2.lianxi();
return 0;
}
運(yùn)行結(jié)果:
lianxi const
lianxi