li.sort()排序
li.unique() 去重 ,排序之后才,可以去重(只去除相鄰的重復(fù)...)
#include<iostream>
using namespace std;
#include<list>
int main()
{
int cpp[5]={3,6,1,7,5};
int java[8]={6,4,7,8,15,2,3,9};
int Unix[4]={5,2,6,9};
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(); //定義頭節(jié)點(diǎn)
while(it!=li.end()) //遍歷打印
cout<<*it++<<' ';
cout<<endl;
}
關(guān)于map插入方式和效果問(wèn)題
#include<iostream>
using namespace std;
#include<map>
#include<string>
int main()
{
map<int,string>mis;
mis.insert(make_pair(62,"東方不敗"));
mis.insert(make_pair(32,"fgyw"));
mis.insert(make_pair(25,"nihao"));
mis[20]="你好";
mis.insert(make_pair(25,"ni")); //函數(shù)插入相同關(guān)鍵字時(shí)屬于無(wú)效插入
mis[25]="你"; //用數(shù)組方式插入時(shí)覆蓋原來(lái)的second
map<int ,string>::iterator it;
it=mis.begin();
while(it!=mis.end())
{
cout<<it->first<<":"<<it->second<<endl;
it++;
}
}
#include<iostream>
using namespace std;
#include<vector>
int main()
{
int i;
vector<int>x;
cout<<"請(qǐng)輸入數(shù)字,當(dāng)輸入為-1時(shí)結(jié)束"<<endl;
while(1)
{
cin>>i;
if(i==-1)
break;
x.push_back(i);
}
vector<int>::iterator it;
for(it=x.begin();it!=x.end();it++)
cout<<*it<<' ';
cout<<endl;
//刪除制定元素位置
for(vector<int>::iterator it1=x.begin();it1<x.end();)
{
if(*it1==9)
{
it1=x.erase(it1); //erase 返回值是下一個(gè)的地址
}
else
{
it1++;
}
}
for(it=x.begin();it!=x.end();it++)
cout<<*it<<' ';
cout<<endl;
}
常量不能調(diào)用默認(rèn)的構(gòu)造函數(shù)
#include<iostream>
using namespace std;
#include<vector>
class Test
{
int m_t;
public:
Test(){} //常量不能調(diào)用默認(rèn)的構(gòu)造函數(shù)
void lianxi()const //所有的函數(shù)成員變量都不能改變
{
cout<<"lianxi const"<<endl;
}
void lianxi()
{
cout<<"lianxi"<<endl;
}
};
int main()
{
const Test t1; //只能調(diào)用const的函數(shù)
t1.lianxi();
Test t2; //優(yōu)先調(diào)用void ,如果沒(méi)有void 則調(diào)用const的函數(shù)
t2.lianxi();
return 0;
}