摘要: 二、单链表借用List容器存放数据,用下标实现指针的功能,类似于静态链表的实现方式。另外用一个List<int>容器收集被删除元素的下标,即空闲的位置,当插入新的元素的时候,如果有空闲位置,则直接放到空闲位置上,而不需分配新的空间,这作为一种垃圾回收机制。没有使用指针,虽然理论上C#也可以用指针,但是这是在CLR类库中,而且还用到了泛型,我尝试过后觉得用指针实现几乎是不可能的。文件S_... 阅读全文
posted @ 2009-09-08 02:15 画竹 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 最近在复习数据结构,打算把书上的算法都实现一遍。选择用C#写,而不是C++,主要是因为用C#封装成类库比较方便,我也可以顺便熟悉一下C#的语法。虽然这样执行效率可能会比较低,但我觉得数据结构主要是一种思想,和具体的实现语言无关。一、顺序表采用固定数组实现,初始时分配100个元素,当表长超过已分配的空间大小时自动扩充容量,每次扩充增加10个元素的空间。文件Status.cs[代码]文件SeqList... 阅读全文
posted @ 2009-09-08 01:52 画竹 阅读(445) 评论(0) 推荐(0) 编辑