关于删除链表元素的操作
2015-11-12 10:46
260 查看
这是正确的方式一:
错误的写法:
问题在链表删除元素后,索引也发生变化。
var data = new List<string>() { "One", "Two", "Three", "One", "One", "Four" }; for (int i = 0; i < data.Count; i++) { if (data[i] == "One") { data.RemoveAt(i--); } }这是正确的方式二:
var data=new List<string>(){"One","Two","Three"}; for(int i=data.Count - 1; i > -1; i--) { if(data[i]=="One") { data.RemoveAt(i); } }
错误的写法:
var data = new List<string>() { "One", "Two", "Three", "One", "One", "Four" }; for (int i = 0; i < data.Count; i++) { if (data[i] == "One") { data.RemoveAt(i); } }
问题在链表删除元素后,索引也发生变化。
相关文章推荐
- Android 手动显示和隐藏软键盘
- 连续dismiss2个ViewController
- 段错误调试
- Unreal Engine 4 空场景创建 并为物体添加 Collision Volumes
- 勇者斗恶龙
- 项目 获取当前版本信息
- oracle数据库注入实战
- Struts2前准备(MyEclipse)
- Oracle中数据库与实例的区别
- JavaBean--实例:注册验证
- (纪录片)数学的故事 The Story of Maths (2008)
- VirtualBox下安装linux虚拟机固定host-only的ip不可用
- static在C中的作用
- Spark自定义分区(Partitioner)
- POJ 2449 A* K短路
- 10段代码打通js学习的任督二脉
- IOS系统定位基础使用
- MFC总结(11) ---- 添加/删除 开机启动项
- 程序员面试切忌的10大错误
- Android 如何优雅的获取屏幕的高度和宽度