算法不会,尚能饭否之双向循环链表
2011-04-12 16:04
281 查看
嗨,朋友们,你懂得,写篇博文不容易!
这次写的这个篇博文是关于双向循环链表。呵呵,双向链表,只要你知道其中任何一个节点的地址,就可以遍历表中其它任何一个节点。不错吧。不错的数据结构,没事,自己写了一个,基本功能是实现了,但是有点马虎,如果需要,可以在我的基础上修改,是吧,伙计。互相进步!废话少说,进入正题吧。
链表的功能,无非就是那么几个:删除,添加,查找定位,置空,确定链表长度,链表是否为空。哦,这些基本的功能,如果你都能很容易的实现,那你就相当不错了,来吧,跟我来,看看我是怎么实现的,我们探讨一下,获取对你有帮助。我很高兴我的博文会对你有帮助。嘿嘿
~
什么,要代码!等等,伙计,不要着急,代码,我会给你的,我没有那么吝啬,是吧。首先,我分析一下我是怎么实现的,看过我的别的博文的朋友,可能会了解我实现各种链表的习惯,那就是定位一个
head
节点,有什么用?大了说,什么用也没有,就是容易定位,小了说还是什么用也没有,你需要亲自实现一下的,看看有没有的区别在哪里,是的,我说的,你该自己去做做。在我的双向循环链表中,我没有改变我的习惯,还是老样子,来吧。跟着我的
head
走吧,去瞧瞧别的功能是怎么实现的。哈哈。你瞧好了。
struct Node
{
Node *lLink; //
左链指针
int value; //
节点数据值
Node *rLink; //
右链指针
};
这个结构要我多说吗?也许是不应该了。如果非要我说,也许我会说脏话了,我可是文明人。对吧,伙计!
这个是实现功能的类,很简单,没有什么特别的,你该懂得。其实,在每个函数的内部才是重点。是的,代码,我都贴出,自己看好了。如果有问题,
call me
!
ok
?伙计,或者留言,或者
…..
或者
……
不说了,你懂得!
代码下载地址:http://download.csdn.net/source/3184214
这次写的这个篇博文是关于双向循环链表。呵呵,双向链表,只要你知道其中任何一个节点的地址,就可以遍历表中其它任何一个节点。不错吧。不错的数据结构,没事,自己写了一个,基本功能是实现了,但是有点马虎,如果需要,可以在我的基础上修改,是吧,伙计。互相进步!废话少说,进入正题吧。
链表的功能,无非就是那么几个:删除,添加,查找定位,置空,确定链表长度,链表是否为空。哦,这些基本的功能,如果你都能很容易的实现,那你就相当不错了,来吧,跟我来,看看我是怎么实现的,我们探讨一下,获取对你有帮助。我很高兴我的博文会对你有帮助。嘿嘿
~
什么,要代码!等等,伙计,不要着急,代码,我会给你的,我没有那么吝啬,是吧。首先,我分析一下我是怎么实现的,看过我的别的博文的朋友,可能会了解我实现各种链表的习惯,那就是定位一个
head
节点,有什么用?大了说,什么用也没有,就是容易定位,小了说还是什么用也没有,你需要亲自实现一下的,看看有没有的区别在哪里,是的,我说的,你该自己去做做。在我的双向循环链表中,我没有改变我的习惯,还是老样子,来吧。跟着我的
head
走吧,去瞧瞧别的功能是怎么实现的。哈哈。你瞧好了。
struct Node
{
Node *lLink; //
左链指针
int value; //
节点数据值
Node *rLink; //
右链指针
};
这个结构要我多说吗?也许是不应该了。如果非要我说,也许我会说脏话了,我可是文明人。对吧,伙计!
class DblList { public: DblList(Node *&); ~DblList(); int Length(); //计算双向循环链表的长度 int IsEmpty(); //判断链表是否为空 int Find(const int &); //在链表中寻找特定值 void Insert(const int &); //在链表中插入新节点 void Remove(); //删除某个节点 void ShowList(); //列出所有链表中的元素 void MakeEmpty(); //将链表置空 private: Node *First, *Current; };
这个是实现功能的类,很简单,没有什么特别的,你该懂得。其实,在每个函数的内部才是重点。是的,代码,我都贴出,自己看好了。如果有问题,
call me
!
ok
?伙计,或者留言,或者
…..
或者
……
不说了,你懂得!
代码下载地址:http://download.csdn.net/source/3184214
相关文章推荐
- 修改自linux内核的双向循环链表通用算法
- 算法导论 XOR双向循环链表——内存高效链表
- 编写算法实现建立一个带头结点的含n个元素的双向循环链表H,并在链表H中的第i个位置插入一个元素e
- linux 内核常用数据结构及算法——list(循环双向链表)
- 问题 1678: 算法2-18~2-19:双向循环链表
- 判断带头结点的双向循环链表L是否对称相等的算法
- 算法不会,尚能饭否之排序——插入排序法(用链表实现)
- 数据结构高分笔记 算法2-18~2-19:双向循环链表
- 双向循环链表的频度自学习算法
- HNCU1328:算法2-18~2-19:双向循环链表
- 数据结构 P36-37 算法实现 双向循环链表的插入与删除
- 双向循环链表删除算法的C++程序实现
- 双向循环链表插入算法的C++程序实现
- 设以带头结点的双向循环链表表示的线性表L= (a1,a2,…,an),试写一时间复杂度O(n)的算法,将L改造为 (a1,a3,…,an,…,a4,a2)。
- C++类模板 实现双向循环链表的基本算法 《数据结构》(C++版 北京科海)中摘抄
- 双向循环链表的删除
- 双向循环链表经典案例,20孩子报数,7的倍数或数字中含有7,不出声,数数的方向逆转
- 数据结构-----双向循环链表