C++ slist实现

slist和list最大的区别在于,前者的迭代器属于单向的ForwardIterator,而后者是双向迭代器BidirectionalIterator。因此slist的功能就受到很多限制,但slist消耗的空间更少。和list一样,它们的插入、移除、接合等操作不会造成原有的迭代器失效。

注意:根据STL的习惯,插入操作会将元素插入到迭代器所指位置之前而不是之后,但slist没办法快速找到其前一个节点,只能从头遍历,这便是slist最大的缺点,因此slist不提供push_back操作,只提供insert_after、erase_after、push_front操作

代码实现:https://github.com/inmail/mySTL/blob/master/mySTL/10stl_slist.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值