数据结构
数据结构
小刘你最强
这个作者很懒,什么都没留下…
展开
-
顺序表
所谓顺序表是指一旦定义了该表,其大小始终固定不变,函数调用时,静态顺序表在函数栈上开辟空间,我们熟悉的数组就是一种静态顺序表。顺序表是用一段 物理地址连续 的存储单元依次存储数据元素的 线性结构(逻辑上也连续)一般采用 数组 存储,也就是在数组上增删查改。代码实现:import java.util.Arrays;public class MyArrayList { public int[] elem; public int usedSize; public MyAr原创 2020-12-16 22:12:19 · 151 阅读 · 0 评论 -
双向链表
双向链表单链表的缺点:只能沿着一个方向遍历,不能回到上一个链节点总结:双向链表添加或删除一个节点时,要处理四个链接点的引用在链表尾部和中间操作有区别,需要处理下一个节点是否为空双向链表需要两个指针prev和next,prev指向前一个节点,next指向下一个节点示意图代码实现class Node { public int data; public Node next; public Node prev; public Node(int data)原创 2020-12-11 14:05:55 · 110 阅读 · 0 评论 -
单链表
使用数组可以存储很多的数据,但是它有固定的长度,不能随意改变它的长度,而链表可以插入和删除大量元素。接下来我来介绍下单链表什么是单链表呢?链表的每个结点中只包含一个指针域,叫做单链表(即构成链表的每个结点只有一个指向直接后继结点的指针,且尾节点的指针为null)。结点结构如下://不带头结点的单链表public class SingleLinkedListTest { public static void main(String[] args) { SingleLink原创 2020-10-21 13:21:50 · 152 阅读 · 2 评论 -
单链表的练习
//从尾到头打印单链表 [要求方式1:反向遍历 。 方式2:Stack栈] //Stack栈 public static void reversePrint(Node head) { if(head.next == null) { return;//空链表 } //创建一个栈,将各个结点压入栈 Stack<Node> stack = new Stack<Node>(); .原创 2020-10-18 21:50:29 · 120 阅读 · 1 评论