下载站用什么cms,优化网站的步骤案列,网站四对联广告代码,广州品牌设计公司排名前十强01. list介绍 list是支持常数时间内任意位置插入删除的序列容器,具备双向迭代能力。其底层为双向链表结构,各元素存于独立节点,通过指针指向前后元素。与forward_list的主要区别:后者是单链表,仅支持单向迭代,结构更简单高效。相比array、vector、deque等序列容器,list在…01. list介绍
list是支持常数时间内任意位置插入删除的序列容器,具备双向迭代能力。其底层为双向链表结构,各元素存于独立节点,通过指针指向前后元素。与forward_list的主要区别:后者是单链表,仅支持单向迭代,结构更简单高效。相比array、vector、deque等序列容器,list在任意位置插入/删除元素的效率更优。缺陷:不支持随机访问(如访问第6个元素需线性迭代),且因节点存储额外信息,对存储小元素的大列表可能更占空间。02. list使用
2.1 list构造器 void printlist(const listintli,const stringname){cout name " ";listint tmp = li;if(tmp.empty()){//不空往下走cout "empty" endl;return ;}while (!tmp.empty()){cout tmp.front() " ";tmp.pop_front();}cout endl;
}
int main()
{listint l1(2, 5);listint l2;listint l3(l1);listint l4(l1.begin(), l1.end());printlist(l1, "l1:");printlist(l2, "l2:");printlist(l3, "l3:");printlist(l4, "l4:");system("pause");return 0;
}2.2 list迭代器
int main()
{listint l1;l1.push_back(1);l1.push_back(2);l1.push_back(3);l1.push_back(4);listint::iterator it = l1.begin();while (it!=l1.end()){cout *it " ";it++;}cout endl;listint::reverse_iterator rit = l1.rbegin();while (rit!=l1.rend()){cout *rit " ";rit++;}2.3 元素访问接口
函数声明接口说明front()返回链表首元素的引用back()返回链表尾元素的引用