博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【S4】使用empty()而不是判断size()是否为0
阅读量:7217 次
发布时间:2019-06-29

本文共 317 字,大约阅读时间需要 1 分钟。

1、二者的作用是一样的,结果也是等价的。就是判断集合是否为空。

2、二者是等价的,为什么强调使用empty,因为empty效率更高。

3、在STL中,对于一般的集合,empty和size都是常数时间。但是对于list,empty是常数时间,size是线性时间;考虑为什么?

  考虑增删操作,对于一般的集合,增删是线性时间,因为涉及到元素的移动,增删的同时也就更新了元素个数。但是对list增删,是常数时间,不会更新节点个数。

  因此,对于一般的集合,size是实时更新的,empty与size可认为是等价的。但是对于list:对于empty,只需要检查head是否为end就可以了,为常数时间。对于size,必须遍历,为线性时间。

转载地址:http://yzxym.baihongyu.com/

你可能感兴趣的文章
Freeradius, 执行 radtest, 出现错误
查看>>
数据库9:联结表 高级联结 组合查询 全文本搜索
查看>>
redis:Sentinel高可用方案
查看>>
Linux 系统故障排除
查看>>
我的友情链接
查看>>
Mysql汉子转拼音
查看>>
设置MySQL数据库超时
查看>>
一致性hash算法
查看>>
lua + redis 的去重队列
查看>>
web负载均衡(ipvsadm)(未成)
查看>>
抓取存储quota超过80%的users
查看>>
C语言经典算法100例
查看>>
速成CAD版本转换的教程
查看>>
CAD文件图纸过大,该怎么解决?
查看>>
Spring aop 切不进去原因。。
查看>>
PHP获取客户端IP
查看>>
php开发APP接口-封装通信接口改进版
查看>>
Android系统性能演变历程
查看>>
OSChina 周三乱弹 —— 打醒精神去瞌睡
查看>>
SSH 密钥登录linux
查看>>