C_Sharp 板


LINE

最近在帮朋友解C++的问题,常常动不动就手痒用LinkedList存东西 应该是C#的List<T>太方便,用太多的後遗症 但是C++的东西都要自己亲自写(我知道是有套件,但是用起来也是麻烦,乾脆自己写) 辛苦实作之余,我不禁想了想,C#的List<T>底层到底都是怎麽实作的呢? 从资料结构的课程来分析, 资料存放的方式有两大种,阵列和串列, 阵列的优点是存取各项目非常方便迅速,缺点则是增减项目非常麻烦, 串列则刚好颠倒过来 而List<T>可以用像阵列一样直接用index存取每个项目, 但增删项目似乎也只需要简单的调用方法就好(Add、Remove) 整个看起来就是Magic (?) 不过看过MSDN之後,发现List<T>好像来源跟ArrayList差不多, 所以List<T>是基於阵列的架构下实作的结构吗? 那又是怎麽克服增删项目的困难呢? (莫非看起来很简单的方法,底层其实是一堆脏码吗?) 因为实在想不明白,就上来问问各位前辈 -- 我觉得C#是世界上最强的语言了 ▁▁▁▁ 其他的应该废除 ██ - □–□ 如果各位有兴趣的话,可以现在开始学 但是要安装VisualStudio       因为我们只会支援精英IDE,绝对不会接受垃圾 ψ //█◣ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.171.245.175
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1408167686.A.7BB.html ※ 编辑: stu87616 (1.171.245.175), 08/16/2014 13:42:05
1F:→ ssccg: 用array做的,空间不够就重新allocate新array 08/16 14:49
2F:→ ssccg: List<T>就是ArrayList的generic版啊 08/16 14:49
那如果只是删除中间几个项目,或是要插入呢? 难道会把插入点之後的项目都进行搬移吗?
3F:→ ssccg: C++也不用自己写啊,用vector就好 08/16 14:51
就是单纯很懒... ※ 编辑: stu87616 (1.171.245.175), 08/16/2014 14:55:41
4F:→ ssccg: 没错List插入就会把後面的都往後搬,所以要O(n) 08/16 14:57
5F:→ ssccg: 所以通常用List是不太会去用指定index的方法 08/16 14:59
6F:→ ssccg: 的insert/remove 08/16 14:59
颗颗我还蛮常用的说,看来以後要注意一下了 ※ 编辑: stu87616 (1.171.245.175), 08/16/2014 15:07:59
7F:→ uranusjr: FWIW, C# 有 LinkedList, 请在合适时选用 08/16 15:34
8F:嘘 jackace: c++明明就有list<T> 跟懒有甚麽关系 08/16 18:08
抱歉 我承认我的确只是稍微看一下文件觉得太麻烦就直接自己硬干了 不过本文的主题还是想问C#的部分啦 如有冒犯还请海涵 ※ 编辑: stu87616 (1.162.160.250), 08/16/2014 19:06:12
9F:推 jizang: 都叫做 List,怎麽还会跟 Array 扯上关系! 08/16 20:35
10F:→ iterator: 直接看 .NET Framework 的 source code 吧! 08/17 02:16
11F:→ iterator: http://tinyurl.com/pd8ma9j list.cs 08/17 02:17
12F:→ iterator: Purpose: Implements a generic, dynamically 08/17 02:18
13F:→ iterator: sized list as an array. 08/17 02:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP