博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.1链表----链表(Linked List)入门
阅读量:5901 次
发布时间:2019-06-19

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

在分析链表之前,我们先来对之前的动态数组、栈、队列总结一下:

(1)底层依托于静态数组

(2)依靠resize解决固定容量问题

 

(3)是一种假的的动态数据结构

1.什么是链表

可以从以下两个部分来理解什么是链表

(1)最简单的动态数据结构,是一种真正的动态数据结构;

(2)是一种数据的存储方式,数据存储在"节点"(Node)中

1.1结构基本代码:

class Node{  E e;  Node next;}

1.2 图示如下:

1.3 优点、缺点

优点:真正的动态,不需要处理固定容量的问题

缺点:丧失了随机访问的能力,也就是不能通过索引进行访问,只能next来进行查找

1.4数组与链表的对比

 1.5 基本的链表节点结构代码:

新建一个package(LinkedList),然后新建一个类LinkedList,在该类中封装一个私有的节点,便于后续对于节点的使用。

package LinkedList;public class LinkedList
{ //将Node节点设计成私有的类中类 private class Node
{ public E e; public Node next; //两个参数的构造函数 public Node(E e, Node next) { this.e = e; this.next = next; } //一个参数的构造函数 public Node(E e) { this.e = e; this.next = null; } //无参构造函数 public Node() { this(null, null); } @Override public String toString() { return e.toString(); } }}

在本小节中先是简单了解了一下理论知识,然后把基本的链表节点结构使用代码来实现,下一小节我们继续来学习如何如何在链表中添加元素。

posted on
2019-03-31 19:27 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/wfaceboss/p/10631649.html

你可能感兴趣的文章
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>
JSP----九大内置对象
查看>>
Java中HashMap详解
查看>>
delphi基本语法
查看>>
沙盒目录介绍
查看>>