STL标准库(三)之forward_list

如下一个程序进行演示讲解

#include <forward_list> 需要包含该头文件
template <typename T>

void print(T Begin, T end)

{

for (T i = Begin; i != end; ++i)

{

std::cout << *i << std::endl;

}

std::cout << std::endl;

}

int main()

{

std::forward_list<int> obj(5); 声明一个当前有五个元素的单向链表

int temp = 0;

for (auto i = obj.begin(); i != obj.end(); i++)

{

obj.push_front(temp); 相当于头插法

temp++;

}

for (auto i = obj.begin(); i != obj.end(); i++)

{

std::cout << *i << std::endl; 遍历打印

}

struct std::forward_iterator_tag 该迭代器是一个单向迭代器,只能从头部开始使用,支持++ * = 运算符

auto it = obj.begin(); 接受头部迭代器

*it = 123;赋值123

it++; 指向下一个迭代器

*it = 124; 赋值124

obj.pop_front(); 头部元素弹出

obj.clear(); 清空该链表所有元素

print(obj.begin(), obj.end());

system("pause");

return 0;

}

相关推荐
小园子的小菜3 分钟前
Java核心基础:反射与泛型底层原理及实战用法详解
java·开发语言
初学者,亦行者5 分钟前
算法设计与分析:动态规划 - TSP问题和0-1背包问题
c++·算法·动态规划
十五年专注C++开发29 分钟前
C++之std::numeric_limits介绍
开发语言·c++·limits
2501_9259633831 分钟前
Hi3516 + WS73 SDIO Wi-Fi 适配笔记
java·开发语言
CoderYanger33 分钟前
视频切割脚本(Python版)
linux·开发语言·windows·后端·python·程序人生·职场和发展
辞旧 lekkk33 分钟前
CMake工程指南(一)
linux·运维·服务器·开发语言·qt·学习·萌新
小七在进步1 小时前
数据结构:用栈实现队列
开发语言·数据结构
KaMeidebaby1 小时前
卡梅德生物技术快报|噬菌体筛选:噬菌体筛选工程化优化方案:基于侵染全链条参数调控与水环境应用验证
java·开发语言·人工智能·机器学习·spark
geovindu1 小时前
go: Floyd-Warshall Algorithms
开发语言·后端·算法·golang
CoderYanger1 小时前
视频裁剪+缩放+自动添加水印脚本(Python版)
开发语言·后端·python·程序人生·职场和发展·音视频·学习方法