摘要: 1,双向链表相当于两个单向循环链表。 2,双向链表的结点定义。 1 struct DULNode 2 { 3 int data; 4 struct DULNode * prior; 5 struct DULNode * next; 6 }; 7 8 typedef struct DULNode * linklist; 3,单循环链表的操作都适用于双循环链表。 4,双循环链表的操作集合仍在头文件defs.h中。 2,双向链表的结点定义。 1 struct DULNode 2 { 3 int data; 4 struct DULNode * prior; 5 struct DULNode * next; 6 }; 7 8 typedef struct DULNode * linklist; 阅读全文
posted @ 2013-12-01 18:40 caipeng 阅读(8302) 评论(4) 推荐(6) 编辑
摘要: 1,什么叫单向循环链表。单向循环链表是指在单链表的基础上,表的最后一个元素指向链表头结点,不再是为空。 2,由图可知,单向循环链表的判断条件不再是表为空了,而变成了是否到表头。 3,链表的结点表示 1 struct LNode 2 { 3 int data; 4 struct LNode * next; 5 }; 6 typedef struct LNode * linklist 阅读全文
posted @ 2013-12-01 11:38 caipeng 阅读(14131) 评论(4) 推荐(1) 编辑
摘要: 1,我们研究数据结构的操作,第一要弄懂它的结构体表示(也就是结构体特点)、第二要清楚它的初始化和撤销过程。对于静态链表首先分析它的特点:一是采用静态存储方式,二是没有指针。静态链表就是不用指针来表示链式关系的一种巧妙实现。 2,静态链表的结构体定义 1 #define MAX 100 2 3 typedef struct 4 { 5 int data; //数据域的类型可以是任意的基类型,包括数组 6 int cur; 7 }component, slinklist[MAX] 阅读全文
posted @ 2013-11-28 16:36 caipeng 阅读(14271) 评论(3) 推荐(4) 编辑
摘要: 1,不带头结点的单链表操作中,除了InitList(),GetElem(),ListInsert(),ListDelete()操作与带头结点的单链表有差别外,其它的操作基本上一样。 2,不带头结点单链表示意图: 链表指针直接指向了首元节点,因此在首元节点前插入数据元素或者删除首元节点元素都会改变头指针的值。 3,不带头结点的单链表定义及操作集合,除了插入,删除,清空操作需要传递头指针的地址外,基本上一样。头文件defs.h 阅读全文
posted @ 2013-11-22 10:49 caipeng 阅读(13275) 评论(0) 推荐(1) 编辑
摘要: 最近一面学习数据结构,一面在做些c语言的题目。这个题目前些天碰到,和同学讨论了下。于是就用c语言实现n!(n=10000) 阅读全文
posted @ 2013-11-18 10:11 caipeng 阅读(1452) 评论(2) 推荐(0) 编辑
摘要: 可能是顺序表研究的细致了一点,单链表操作一下子就实现了。这里先实现带头结点的单链表操作。 大概有以下知识点. 1;结点:结点就是单链表中研究的数据元素,结点中存储数据的部分称为数据域,存储直接后继地址的部分称为指针域。 2;结点示意图: 3;头指针:头指针始终指向链表第一个元素,当有头结点时头结点就是链表第一个元素。头指针具有标识左右,故头指针命名为链表的名字,这里为linklist。头指针是一定存在的。 4;头结点:引入头结点的目的是,将链表首元结点的插入和删除操作与其他结点的插入和删除操作统一起来。(即头指针地址不在发生变化) 阅读全文
posted @ 2013-11-17 14:58 caipeng 阅读(8658) 评论(0) 推荐(0) 编辑
摘要: 经过三天的时间终于把顺序表的操作实现搞定了。(主要是在测试部分停留了太长时间) 1;线性表顺序存储的概念:指的是在内存中用一段地址连续的存储单元依次存储线性表中的元素。 2;采用的实现方式:一段地址连续的存储单元可以用固定数组或者动态存储结构来实现,这里采用动态分配存储结构。 3;顺序表的定义及操作集合:头文件为defs.h 阅读全文
posted @ 2013-11-15 15:08 caipeng 阅读(11239) 评论(0) 推荐(2) 编辑
摘要: 我发现在学习数据结构的过程中每次都有这样的困惑,各种类型的书都看了一下,如果书上写的简单一点那么自己就会一带而过,如果书上数学公式算法分析一大堆,那真是不堪入眼,看的一点兴趣全无,以至于一道走来,简单的没完全会,难的一点没懂,不断的停留一个阶段,上下两难。而现在时间紧迫,我想要在毕业之前认真的学完数据结构与算法。经过上面多次的困惑,我觉得要真正从纸质书本上学到东西,得走出来,得站在作者的角度去学习思考,统筹规划每一章的内容,每一个知识点。因此我打算以作者的思维去记录数据结构学习中的每一个问题,就想象这本书是我写的吧。 阅读全文
posted @ 2013-11-13 11:07 caipeng 阅读(807) 评论(0) 推荐(0) 编辑