li.sort()排序
li.unique() 去重 ,排序之后才,可以去重(只去除相邻的重复...)
#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(); //去重,相邻两边重复的。。。。
li.reverse(); //反转
list<int>::iterator it=li.begin(); //定义头节点
while(it!=li.end()) //遍历打印
cout<<*it++<<' ';
cout<<endl;
}
关于map插入方式和效果问题
#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")); //函数插入相同关键字时属于无效插入
mis[25]="你"; //用数组方式插入时覆盖原来的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<<"请输入数字,当输入为-1时结束"<<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 返回值是下一个的地址
}
else
{
it1++;
}
}
for(it=x.begin();it!=x.end();it++)
cout<<*it<<' ';
cout<<endl;
}
常量不能调用默认的构造函数
#include<iostream>
using namespace std;
#include<vector>
class Test
{
int m_t;
public:
Test(){} //常量不能调用默认的构造函数
void lianxi()const //所有的函数成员变量都不能改变
{
cout<<"lianxi const"<<endl;
}
void lianxi()
{
cout<<"lianxi"<<endl;
}
};
int main()
{
const Test t1; //只能调用const的函数
t1.lianxi();
Test t2; //优先调用void ,如果没有void 则调用const的函数
t2.lianxi();
return 0;
}