在c++中,想存储大量的数据可以使用数组,但如果这些数据的长度不是固定的,就可以使用链表来存储,它相较于数组的使用更为方便,但是链表手写较为繁琐与复杂,而C++的STL中,就为我们提供了这个,方便我们的使用,他就是本期的主题,list容器 关于创建 #include //头文件 list<类型> 名称; ? list();//声明一个空列表; list(n) ;//声明一个有n个元素的列表,每个元素都是由其默认构造函数T()构造出来的 list(n,val);// 声明一个由n个元素的列表,每个元素都是由其复制构造函数T(val)得来的 list(n,val);// 声明一个和上面一样的列表 list(first,last);//声明一个列表,其元素的初始值来源于由区间所指定的序列中的元素 list容器使用十分简单,且功能十分强大,导入头文件 list,然后直接使用关键字list后跟两个尖括号,在尖括号中,添加你需要的链表的数据类型,然后在尖括号之后,就是这个链表的名称了,至于构造函数,就看实际需求了 常用的功能: begin()和end() 通过这个成员方法,可以获取链表的首位和链表的最后一位之后的一位即不能被访问的内存位置,常用于循环的结束条件 empty 此方法用于判断链表是否为空 resize() 如果调用的是resize(n)那么list的长度将被限制为n,超出不保存 clear() 清除全部 front()和back() 调用list集合的第一个数据和最后一个数据,即使list为空也不会提示,但运行时会报错,所以最好提前判断list是否为空 erase() 删除指定元素或指定区间的元素 sort() 排序方法,无参时,可以给基本类型的list集合排序,如果是自定义类型,那么需要自定义排序规则 bool myCompareSaledCode(SaledBooks& b1, SaledBooks& b2) { return b1.getSaledCode() > b2.getSaledCode(); } 语法: bool 排序规则名称 (自定义数据类型&1,自定义数据类型&2){返回值为1与2的比较}
|