品牌网站设计方案,坦洲网站建设公司哪家好,国外做的比较好的展台网站,淘宝客的网站是自己做的吗前言 大家好吖#xff0c;欢迎来到 YY 滴C系列 #xff0c;热烈欢迎#xff01; 本章主要内容面向接触过C的老铁 主要内容含#xff1a; 欢迎订阅 YY滴C专栏#xff01;更多干货持续更新#xff01;以下是传送门#xff01; 目录 一、list 类——基本介绍二、list 类——… 前言 大家好吖欢迎来到 YY 滴C系列 热烈欢迎 本章主要内容面向接触过C的老铁 主要内容含 欢迎订阅 YY滴C专栏更多干货持续更新以下是传送门 目录 一、list 类——基本介绍二、list 类——使用环境准备三、list 构造初始化[1] list 构造初始化的代码演示[2] list iterator的使用 四、list 的访问及遍历操作五、list 增删查改1.list 增删查改操作盘点2.list 增删查改代码演示 六、list 空间相关函数list 空间相关函数代码演示 一、list 类——基本介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器并且该容器可以前后双向迭代。list的底层是双向链表结构双向链表中每个元素存储在互不相关的独立节点中在节点中通过指针指向 其前一个元素和后一个元素。list与forward_list非常相似最主要的不同在于forward_list是单链表只能朝前迭代已让其更简单高 效。与其他的序列式容器相比(arrayvectordeque)list通常在任意位置进行插入、移除元素的执行效率更好。与其他序列式容器相比list和forward_list最大的缺陷是不支持任意位置的随机访问比如 要访问list 的第6个元素必须从已知的位置(比如头部或者尾部)迭代到该位置在这段位置上迭代需要线性的时间 开销list还需要一些额外的空间以保存每个节点的相关联信息(对于存储类型较小元素的大list来说这 可能是一个重要的因素) 二、list 类——使用环境准备 在使用string类时必须包含#includelist #includeiostream以及 展开命名空间using namespace std;查看所有接口网站https://cplusplus.com 三、list 构造初始化
构造函数声明功能说明 list (size_type n, const value_type val value_type())构造的list中包含n个值为val的元素 list() 缺省构造空的listlist (const list x) 拷贝构造函数 list (InputIterator first, InputIterator last)用 [first, last) 区间中的元素构造list
[1] list 构造初始化的代码演示
[2] list iterator的使用 此处大家可暂时将迭代器理解成一个指针该指针指向list中的某个节点 【注意点】 begin与end为正向迭代器对迭代器执行操作迭代器向后移动rbegin(end)与rend(begin)为反向迭代器对迭代器执行操作迭代器向前移动 构造函数声明功能说明begin end返回第一个元素的迭代器返回最后一个元素下一个位置的迭代器rbegin rend返回第一个元素的reverse_iterator,即end位置返回最后一个元素下一个位置的reverse_iterator,即begin位置
四、list 的访问及遍历操作 已合并到【探究 [ 迭代器 ] 种类在STL中的使用方式】一文中传送门如下 额 五、list 增删查改
1.list 增删查改操作盘点
构造函数声明功能说明push_front返回list的第一个节点中值的引用front返回list的最后一个节点中值的引用back在list首元素前插入值为val的元素push_front删除list中第一个元素pop_front在list尾部插入值为val的元素pop_back删除list中最后一个元素insert在list position 位置中插入值为val的元素erase删除list position位置的元素swap交换两个list中的元素clear清空list中的有效元素
2.list 增删查改代码演示
listint lt; //注意哨兵位的头节点
lt.push_back(1);
lt.push_back(2);
lt.push_back(3);
lt.push_back(4);lt.push_front(10);
lt.push_front(20);//打印验证
/*for (auto e : lt)
{cout e ;
}
cout endl;*/// 要实现第5个位置插入数据
//v.insert(v.begin()5, 10);
auto it lt.begin();
for (size_t i 0; i 5; i)
{it;
}
lt.insert(it, 100);for (auto e : lt)
{cout e ;
}
cout endl;六、list 空间相关函数
构造函数声明功能说明empty检测list是否为空是返回true否则返回falsesize返回list中有效节点的个数
list 空间相关函数代码演示
listint lt;
if(empty(lt)!NULL);
return size(lt);