08 2010 档案
摘要:一般传统链表的物理结构,是由指针把一个一个的节点相互连接而成:其特点是按需分配节点,灵活动态增长。但是此外,还有另外一种方式是使用数组实现链表,这里所有的node都在预先分配好的数组中,不使用指针,而是用数组下标来指向前一个、下一个元素:其特点是预先分配节点,并且如果需要链表长度随需增加,需要reallocation ,和vector类似。下面就我自己的一些了解,谈一下其优缺点与应用。数组作链表有哪些优点能要省些内存吗?不见得;速度要快吗?没看出来,那么为什么要使用这种不那么直观的方式来实现链表呢?数组的内存布局比较紧凑,能占些局部性原理的光在不提供指针的语言中实现链表结构,如vb等进程间通信
阅读全文
摘要:这段时间,一直很少有机会写写代码。因为项目的性质本来就不是垒代码,而是玩一些危险、刺激的动作。做个比喻吧,比如你有一个房子,很多项目的性质是给它加个阳台,或者做个屋顶绿化,再或者扩建一间之类的,我们不玩这个,没意思,我们玩的是:恩,看来一楼有根柱子是可以省掉的,我们把他拿掉吧~~~好,拿掉了,预制板要塌下来了,旁边墙也要倒下来了 ---- 我的大量时间就花在了这上面, 寻找方案,讨论方案,选择方案...
阅读全文
摘要:这是在这个讨论中学到的,虽然该讨论主题并不在此,但贾里同学在描述中很好的呈现出了这种设计。假设我有一个基类Base,然后会有一系列子类从其派生,派生类所代表的类型,可以由一个enum来表示:此处,kType1必须为0,且不允许对其他enum赋值,不难看出,DerivedTypeCount是DerivedType的数量。然后,我们可以有一个数组来容纳每个派生类对象的指针:这里有两个好处,一是利用en...
阅读全文