`
java-mans
  • 浏览: 11454660 次
文章分类
社区版块
存档分类
最新评论

list操作整理

 
阅读更多

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<iostream>
#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;
}

较全的list函数运用
#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;
}

分享到:
评论

相关推荐

    CDlist 光盘整理工具

    CDlist 光盘整理工具 将您所有光盘的目录名,文件名进行分析存储,为您以后使用提供简洁,快速的查询. 从今以后,您不必再为查找一个东东而将一张张光盘塞入心爱的光驱. 本软件安装程序已包含本软件(CDlist)运行...

    java中常用list方法,jdk8中的一些方法整理

    jdk7中list的一些功能用起来比较繁琐,比如去重,得通过好几层for循环遍历判断得到,而jdk8 中lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少...

    VB磁盘碎片整理-分类整理磁盘文件.rar

    获得文件夹的个数,引用一个Stripting Runtime 对象,将文件列表框中显示的文件名添加到列表框中,在刷新数据之前清空List控件中的信息,检索相同的扩展名文件等,虽然是磁盘碎片整理的,但实质上就是文件的操作。

    【精品小工具】利用Python开发的Alist桌面GUI工具,轻松给电脑挂载100T网盘

    然而,对于小白来说,alist的使用方式可能会有一定难度,因为它全部都是命令行操作。 为了让更多人能够实现这个目的,我学习了一整天的Python,并且成功地将命令行集成到可视化工具中,这样就使得使用起来变得十分...

    java笔记整理(超详细) java笔记整理(超详细)

    Java集合可以分为Collection和Map两种体系: Collection接口: ​ List:元素有序,可重复的集合 ​ ArrayList: 底层数组实现,有利于随机访问get ​ LinkedList:底层是链表,有利于频繁的插入、删除操作(ArrayList删除和...

    JAVA核心知识点整理.zip

    java核心知识点整理,面试很有用 Java核心知识点2.JVM JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它...

    详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法

    list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了。 list和array的不同: 在进行...

    Python经典面试题 Python常见面试考试题目整理总结 Python面试题手册 共15页.pdf

    Python经典面试题 Python常见面试考试题目整理总结 Python面试题手册 1:Python 如何实现单例模式? 2:什么是 lambda 函数? 3:Python 是如何进行类型转换的? 4:Python 如何定义一个函数 5:Python 是如何进行...

    Python3基础教程五(个人整理).doc

    序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表是最常用的 Python数据类型,它可以作为一个方括号内的逗号分隔值岀现。 列表...

    WHC.OrderWater.Commons公共类源码_文档[最新整理]

    CheckBoxList(CheckBoxListUtil.cs) 窗口管理类(ChildWinManagement.cs) ChildWinManagement 由马丁·米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一...

    (2021年整理)python练习题-答案.doc

    切片操作list(range(6))[::2]执行结果为________________.([0, 2, 4]) 19. 表达式 'ab' in 'acbed' 的值为________。(False) 20. Python 3.x语句 print(1, 2, 3, sep=':') 的输出结果为____________。...

    最新整理的125个微信小程序模板源码分享

    本人收集整理的125个微信小程序模板源码,涵盖各行各业的微信小程序功能界面设计模板,也有各种小程序开发的一些特效代码,一共125个,有需要的自取,包括 小程序-dribbble 小程序-FlexLayout布局 小程序-gank 小...

    java核心知识点整理.pdf

    27 标记整理算法(Mark-Compact).................................................................................................. 28 分代收集算法 ..........................................................

    java笔记整理(超详细)

    Java集合可以分为Collection和Map两种体系: Collection接口: ​ List:元素有序,可重复的集合 ​ ArrayList: 底层数组实现,有利于随机访问get ​ LinkedList:底层是链表,有利于频繁的插入、删除操作(ArrayList删除和...

    java8源码-javaSE:JavaSE是在日常工作中整理的功能demo(如Java操作Excel表格、冒泡算法等)总结这些JavaSE常用

    JavaSE是在日常工作中整理的功能demo(如Java操作Excel表格、冒泡算法等) 总结这些JavaSE常用demo,记录工作中常用的方法并方便日后复用。 功能简介 Introduction 1.adapter 设计模式-适配器 2.algorithm 常用算法 ...

    js数组的基本操作(很全自己整理的)

    段时间做的一个项目,用到数组的地方很多,学了才知道js数组的功能强大很,远比VB,C#强多了

    【第一关奖励】Python语法整理.pdf

    列表list 字典dict 产生布尔值 三、循环 for...in... while循环 四、函数 五、类与对象 基本语法 六、模块与库 模块类型 七、文件读写 基本操作 打开文件语法 读写文件语法 关闭文件语法 csv文件读写的相关函数 os...

    LinkedList详解和使用示例_动力节点Java学院整理

    LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或...LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。

    EditPlus 2整理信箱的工具

    注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。 【2】正则表达式应用——数字替换 (Microshaoft@CCF,jiuk2k@CCF) 希望把 ...

Global site tag (gtag.js) - Google Analytics