list
简介
- 适用范围:对于存储位置和长度都无法确定的一串元素形成的序列,链是一种合适的抽象数据类型。
- 与顺序表相比,链表在实现插入、删除时不需要移动大量元素,因此更为方便。
- 在需要删除某个已知元素时,用list比vector要方便。
- list是双向链表,可以分别在头和尾进行插入、删除。
- 删除时要先判断list是否为空,否则会出错。
list常用方法
list<int> l;
int item;
ierator it;
l.push_back(item);
l.pop_back();
l.insert(it,item);
l.erase(it);
l.begin();
l.end();
l.front();
l.back();
l.clear();
l.empty();
l.size();
l.sort();
l.reverse();
l.push_front();
l.pop_front();
l.remove(item);
l.remove_if(谓词参数)
l.unique();
静态链表
- 开辟一个结构体数组,结构体的第一个成员存放数据(data)元素,第二个成员(link)存放链表中下一个数据元素在数组中的序号。
- 应用:huffman树。