摘要:
一、相关概念: (Deque)双端队列能够在队头、队尾进行添加、删除等操作 二、接口设计: 三、代码实现 public class Deque<E> { private List<E> list = new LinkedList<>();//引入自己实现的类 public int size() { 阅读全文
posted @ 2020-05-24 23:42
Jenne
阅读(162)
评论(0)
推荐(0)
摘要:
一、什么是队列 队列是一种特殊的线性表,只能在头尾两端进行操作,特点是先进先出;就像排队买票一样,先来的先买 二、接口设计 三、代码实现 可以使用动态数组、链表等实现;这里两种实现栈与双向链表 1、栈 public class Queue { private Stack<Integer> inSta 阅读全文
posted @ 2020-05-24 23:36
Jenne
阅读(131)
评论(0)
推荐(0)
摘要:
一、什么是栈 栈是一种线性结构,栈的特点就是先进后出(FILO);就像弹夹装子弹一样,最先压进去的在最底下,最后才被射出。 二、相关接口设计 三、栈的实现 栈可以用之前的数组、链表等设计,这里我使用动态数组实现(在之前自己写的,不是jdk自带的) public class Stack<E> { pr 阅读全文
posted @ 2020-05-24 23:25
Jenne
阅读(138)
评论(0)
推荐(0)
摘要:
双向循环链表跟单向链表一样,都是头尾相连,不过单向是尾指向头,双向是头尾互相指,可以从前往后查,也可以从后往前查 无头结点的双向循环链表 public class CircleLinkedList<E> extends AbstractList<E> { private Node<E> first; 阅读全文
posted @ 2020-05-24 23:12
Jenne
阅读(172)
评论(0)
推荐(0)
摘要:
单循环链表与单链表的不同是,单循环链表尾结点的next指向第一个结点(或头结点) 代码: 无头结点: public class SingleCircleLinkedList<E> extends AbstractList<E> { private Node<E> first; private sta 阅读全文
posted @ 2020-05-24 22:53
Jenne
阅读(227)
评论(0)
推荐(0)
摘要:
在之前我们封装了一些操作在接口类中,并在抽象类实现了相同的方法。下面我们开始写代码: 无头结点单链表:(注意下面的AbstractList是之前抽取的类,不是java.util包下的类) public class SingleLinkedList<E> extends AbstractList<E> 阅读全文
posted @ 2020-05-24 22:41
Jenne
阅读(148)
评论(0)
推荐(0)

浙公网安备 33010602011771号