一、链表是啥
链表的组成:链表由一系列结点组成;
结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域;
STL 中的链表是一个双向循环链表;
由于链表的存储方式并不是连续的内存空间,因此链表 list 中的迭代器只支持前移和后移,属于双向迭代器。
链表执行插入和删除操作十分方便,修改指针即可,很灵活,不需要移动大量元素;
但是空间(指针域) 和 时间(遍历)额外耗费较大。
二、链表遍历
#include <iostream>
#include <list>
using namespace std;
void printList(const list<int>& L) {
for (list<int>::const_iterator it = L.begin(); it != L.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
int main()
{
list<int> lb;
lb.push_back(1);
lb.push_back(2);
lb.push_back(3);
lb.push_back(4);
lb.push_back(5);
printList(lb);
cout << "lb.front : " << lb.front() << endl;
cout << "lb.back : " << lb.back() << endl;
}