2013年6月17日
摘要: 这里以单链表为例阐述如何用C++实现表的基本表示:1)表的结构单链表的每一个结点都是由一个任意数据类型的元素和一个指向下一个元素的指针构成的,如下:通过开始结点A0可以访问整个表元素,最后的一个结点的指针为NULL。2)引入表头结点在实现中,为了实现对各个结点的处理的一致性,引入了一个头结点,头结点是指向链表开始结点A0的结点,这样一来链表的所有结点都有了前驱结点,开始结点(链表实际结点的第一个结点)的插入和删除也就不会特别处理,对空表或非空表的处理也是一致的。引入头结点后的结构如下:其中头结点的数据域可以不保存任何数据信息或者保存如链表长度这样的数据,头结点的指针指向链表的开始结点。3)链表 阅读全文
posted @ 2013-06-17 16:12 Sophia-呵呵小猪 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 数组和链表是两种不同的数据存储方式,数组的存储需要一段连续的内存空间,而链表的存储则不需要连续存放,它是通过指针链接各个结点构成一个表结构。链表又分为单链表、双链表、单项循环链表和双向循环链表,单链表中每一个结点只需要保存当前结点的数据和一个指向下一个元素的指针,而双链表还需要保存一个指向上一个元素和指针,循环链表则还需要尾结点中保存一个指向第一个结点的指针。具体的讲,数组和链表的区别主要体现在以下几个方面:1)逻辑结构数组在内存中是连续顺序存储的,使用前必须指定数组大小以便为其分配内存空间,大小固定不能动态改变。对数组插入需要分配新的连续内存空间然后移动所有的数据元素,删除同样需要移动删除元 阅读全文
posted @ 2013-06-17 14:34 Sophia-呵呵小猪 阅读(324) 评论(0) 推荐(0) 编辑