list操作整理
来源:互联网 发布:es6数组去重的方法 编辑:程序博客网 时间:2024/05/19 12:41
list自己定义了sort(),unique(),可以不用algorithm的sort和unique了。
对比请看我的博客《c++容器算法》
粘接,排序,归并
void splice(iterator pos,list& x);
void splice(iterator pos,list& x,iterator p);
void splice(iterator pos,list& x,iterator first,iterator last ;
void merge(list& );
template<typename Cmp>
void merge(list&,Cmp);
void sort();
template<typename Cmp>
void sort(Cmp);
前端操作:
reference front();
const_reference front() const;
void push_front(const T&);
void pop_front();
其他操作:
void remove(const T& val);
template<typename T>
void remove_if(T t);
void unique();
template<typename T>
void unique(T t)
void reverse();
代码参考:
#include<iostream>
#include<string>
#include<list>
using namespace std;
int main(){
list<string>l;
l.push_back("d");
l.push_back("e");
l.push_back("c");
l.push_back("a");
l.push_back("b");
l.push_back("c");
l.push_back("d");
l.push_back("f");
for(list<string>::iterator iter=l.begin();iter!=l.end();++iter){
cout<<*iter<<" ";
}
l.sort();
cout<<endl;
for(list<string>::iterator it=l.begin();it!=l.end();++it){
cout<<*it<<" ";
}
cout<<endl;
l.unique();
for(list<string>::iterator ite=l.begin();ite!=l.end();++ite){
cout<<*ite<<" ";
}
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<list>
using namespace std;
int main(){
list<string>l;
l.push_back("d");
l.push_back("e");
l.push_back("c");
l.push_back("a");
l.push_back("b");
l.push_back("c");
l.push_back("d");
l.push_back("f");
list<string>ll;
ll.push_back("1");
ll.push_back("3");
ll.push_back("2");
ll.push_back("4");
ll.push_back("1");
ll.push_back("6");
ll.push_back("5");
ll.push_back("2");
l.sort();
ll.sort();
l.merge(ll);
for(list<string>::iterator iter=l.begin();iter!=l.end();++iter){
cout<<*iter<<" ";
}
cout<<endl;
for(list<string>::iterator ite=ll.begin();ite!=ll.end();++ite){//为空
cout<<*ite<<" ";
}
cout<<endl;
system("pause");
return 0;
}
#include<list>
#include<string>
using namespace std;
int main(){
list<string>l;
l.push_back("1");
l.push_back("2");
l.push_back("3");
list<string>::iterator iter=l.erase(l.begin());
for(list<string>::iterator it=l.begin();it!=l.end();++it){
cout<<*it<<" ";
}
cout<<endl;
l.remove("2");
for(list<string>::iterator iet=l.begin();iet!=l.end();++iet){
cout<<*iet<<" ";
}
cout<<endl;
system("pause");
return 0;
}
#include<iostream>#include<list>#include<algorithm>using namespace std;void printlist(const list<int>& l1,const list<int>& l2){cout<<"list1:";copy(l1.begin(),l1.end(),ostream_iterator<int>(cout," "));cout<<endl;cout<<"list2:";copy(l2.begin(),l2.end(),ostream_iterator<int>(cout," "));cout<<endl;}int main(){list<int>list1,list2;for(int i=0;i<6;++i){list1.push_back(i);list2.push_front(i);}printlist(list1,list2);list2.splice(find(list2.begin(),list2.end(),3),list1);printlist(list1,list2);list2.splice(list2.end(),list2,list2.begin());printlist(list1,list2);list2.sort();list1=list2;list2.unique();printlist(list1,list2);list1.merge(list2);printlist(list1,list2);system("pause");return 0;}
- list操作整理
- SharePoint 对list操作(重新整理)
- List 整理
- python整理八——list的简单操作
- list操作
- list操作
- list操作
- list操作
- list操作
- list操作
- List操作
- List操作
- List集合整理
- STL List 整理
- C++ list 方法整理
- list删除整理
- Java 技能整理list
- 链表操作---Remove Nth Node From End of List,注意事项整理
- Excel开发(VBA)— 快速定位最后有记录的行
- myeclipse6.5连接oracle11G R2 ora-00604 ora-12705错误(转帖)
- 线程基础
- 利用cookies统计在线访问人数
- 关于 数组排序
- list操作整理
- 在Android里添加自己的log函数
- 一步步做程序优化【2】OpenACC指令
- 怎样在c++调用directx
- 关于input 那些事
- udp
- 计算经经php打包以后的包体的长度
- 浅谈ipad阅读类应用设计
- 【iphone游戏开发】iphone-Cocos2D游戏开发之二:精灵表的详细讲解(一)和Zwoptex工具的使用