说明:
根据数据的逻辑结构,可以把数据结构分为集合、线性结构、树形结构和图形结构。所谓线性结构,即除第一个元素外,其他元素有且只有一个前驱;除最后一个元素外,其他元素有且只有一个后继。简而言之,线性结构就是一个n个数据元素的有序集合。
常见的线性结构有线性表、栈和队列。这里给出双链表、队列和栈的Java实现。
一、双向链表
双向链表简称双链表。和单链表一样,双链表也是由节点处,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般构造双向循环链表。
1 | // 注:java自带的集合包中有实现双向链表,路径是:java.util.LinkedList |
二、栈
2.1 用数组实现栈
1 | import java.lang.reflect.Array; |
2.2 用自带的Stack实现栈
1 | public class StackTest { |
三、队列
2.1 通过自带的stack实现队列
1 | import java.util.Stack; |