博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法不会,尚能饭否之双向循环链表
阅读量:4943 次
发布时间:2019-06-11

本文共 1166 字,大约阅读时间需要 3 分钟。

嗨,朋友们,你懂得,写篇博文不容易!

这次写的这个篇博文是关于双向循环链表。呵呵,双向链表,只要你知道其中任何一个节点的地址,就可以遍历表中其它任何一个节点。不错吧。不错的数据结构,没事,自己写了一个,基本功能是实现了,但是有点马虎,如果需要,可以在我的基础上修改,是吧,伙计。互相进步!废话少说,进入正题吧。

链表的功能,无非就是那么几个:删除,添加,查找定位,置空,确定链表长度,链表是否为空。哦,这些基本的功能,如果你都能很容易的实现,那你就相当不错了,来吧,跟我来,看看我是怎么实现的,我们探讨一下,获取对你有帮助。我很高兴我的博文会对你有帮助。嘿嘿 ~

什么,要代码!等等,伙计,不要着急,代码,我会给你的,我没有那么吝啬,是吧。首先,我分析一下我是怎么实现的,看过我的别的博文的朋友,可能会了解我实现各种链表的习惯,那就是定位一个 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

转载于:https://www.cnblogs.com/JPAORM/archive/2011/04/12/2509890.html

你可能感兴趣的文章
[leetcode]250. Count Univalue Subtrees统计节点值相同的子树
查看>>
理解Backtracking
查看>>
T3 光
查看>>
搭建交叉调试环境 arm-linux-gdb配合gdbserver
查看>>
使用Jsoup 抓取页面的数据
查看>>
使用命令批量对文件中出现的字符串进行替换
查看>>
C#获取URL参数值
查看>>
Struts 框架 之 文件上传下载案例
查看>>
【重走Android之路】【路线篇(二)】知识点归纳
查看>>
graphviz入门
查看>>
CSS可以和不可以继承的属性
查看>>
eclipse每次当我按ctrl+鼠标点击代码,自动关闭,产生原因及解决办法!!
查看>>
hbase
查看>>
用PHP将Unicode 转化为UTF-8
查看>>
HDOJ1002 A+B Problem II
查看>>
ADB server didn't ACK(adb不能开启
查看>>
Python基础(三)
查看>>
Continuous integration
查看>>
hl7 V2中Message Control ID的含义及应用
查看>>
IOS 4个容易混淆的属性(textAligment contentVerticalAlignment contentHorizontalAlignment contentMode)...
查看>>