狐狸梦见乌鸦

当坚持成为一种习惯,目标将不在遥远```
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年8月30日

摘要: 单向链表只有一个指向后继的指针来表示结点间的逻辑关系,因此任意一结点开始找其后继结点很方便,但是要找其前驱结点比较麻烦。双向链表是用两个指针表示结点的逻辑关系。即增加了一个指向其前驱的指针域,这样形成的链表又两种不同的链,即前驱和后继。因此称为双链表。在双向链表中,根据已知结点查找其直接前驱和指直接后继结点也很方便。双向链表的结点定义:typedef int elemtype;typedef struct Dnode{ struct Dnode *prior; struct Dnode *next; elemtype data;}Dnode,*Dlinklist;双向链表的结构图prio... 阅读全文

posted @ 2012-08-30 22:16 灬啊U 阅读(165) 评论(0) 推荐(0) 编辑

摘要: 今天做的一道关于单向链表的简单的题目。将一个链表的倒数第pos个成员打印出来。思路很简单,首先创建一个简单的单向链表,插入相应的元素,利用2个指针head1和head2,先让head1先走pos-1个位置后,在让两个指针同时走,当head1走到最后一个节点时,此时的head2即为倒数第pos个成员的指针。单向链表:每个结点的存储地址放在直接前驱的指针域中,每个结点只有一个指向后继的指针。访问数据元素只能由链表头一次到链表尾,而不能逆向访问。单向链表又分为带头节点和不带头节点2种类型。带头节点的链表有效解决了“第一个结点”问题,因为链表中第一个结点是没有直接前驱的,而且它的地址是整个链表的地址, 阅读全文

posted @ 2012-08-30 11:51 灬啊U 阅读(252) 评论(0) 推荐(0) 编辑