链表的使用
来源:互联网 发布:剑灵龙男捏脸数据大全 编辑:程序博客网 时间:2024/06/05 09:24
一.链表的概念
在数组列表的文章中我们已经提到了链表,今天来讲一下链表。
首先再回顾一下链表列表与数组列表的关系。
链表列表:链表是一块不连续的动态空间,长度可变;链表需要按顺序检索节点,效率低;链表的优点是可以快速插入和删除节点,大小动态分配,长度不固定。链表不存在越界问题。
数组列表:数组是一块连续的空间,声明时长度就需要固定。数组的优点是速度快,数据操作直接使用偏移地址。数组有越界问题。
从以上看到两者都有优缺点。
二.如何实现链表
链表的实现和列表的实现显然是不同的,列表的实现我们用到了数组,而在链表的实现中,我们不会用到数组来保存数据,取而代之的,我们用一个“节点”类来保存我们的数据。
现在我们先给出一个大概的图形,便于读者理解
(注:本篇文章中所讲的链表是单向链表,我们还可以编写双向链表)
在图中,一个链表中有很多的节点(如箭头所示),在每一个节点中有两个”框框“,左边存放数据,右边用于指向下一个节点。
现在我们来看一下定义节点类的代码:
如上图代码所示,根据我们最初给的图片,我们现在就应该在节点类中定义两个属性:
1.存放的数据及其类型(代码中定义了泛型E)
2.下一个节点
节点类中还有三个构造方法:
一个不传递任何参数,一个只传递数据,还有一个传入下一个节点和数据。
编写好了节点类,接下来开始编写我们的链表列表类,链表列表中所应该有的方法无非就那么几个,增、删、改、查。那么我们应该在链表列表内定义什么属性呢?
现在我们来看代码图:
即我们需要在链表类里面定义三个属性。
接下来就是具体的方法了,具体方法见下代码图:
这样我们的链表就能实现一些基本的功能了!(备注:作者所写代码并不是最完美的,代码的精简度没有达到最大,但是容易理解,如果读者有更好精简又容易理解的代码,望不吝赐教~)。
- 链表的使用
- 链表的使用
- 链表的使用
- 链表的使用
- 链表的使用
- 链表的使用
- 链表的综合使用
- 动态链表的使用。
- 邻接链表的使用
- 优雅的使用链表
- Redis链表的使用
- LinkedList链表的使用
- 链表的基本使用
- 链表的基本使用
- 【C++】链表的使用
- 静态链表的使用
- 使用链表的排序
- 企业级的使用链表
- srs代码学习(7)--消息接收过程
- java 对象 和 json 之间互转 例子
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- MySQL出现Errcode:28错误提示解决办法
- Linux存储IO栈(1)-- 内核对象与对象集
- 链表的使用
- C++ 类的使用
- Linux中ib开头的一些命令,先收藏一下.
- C++关键字解析与实例
- CGContextRef画图小结
- C++ 学习笔记(四):面向对象编程:多态,虚函数,数据抽象,数据封装,抽象类
- PullToRefresh框架 item以 表格/fragLayout的形式 (Fragment 嵌套PullToRefresh)
- mfc updatedata 用法
- 带有修订的word文档如何在打印的时候不显示修订内容?