数据结构
kurer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表
介绍数据存储在节点中,与数组相比,是真正的动态,不需要考虑固定容量的问题;但是也因此使其不能随机访问。链表类创建一个链表类LinkList,在该类中创建一个私有类Node,该类中有两个公有属性e和指向下一个节点的next。public class LinkedList<E> { private Node head: private int size; ...原创 2019-03-04 23:17:03 · 429 阅读 · 0 评论 -
重写数组类
目录int类型数组修改为泛型int类型数组public class Main { public static void main(String[] args) { Array score=new Array(10); for(int i=0;i<8;i++){ score.addLast(i); } ...原创 2019-02-25 20:33:24 · 297 阅读 · 0 评论 -
重写数组(2)——动态数组
目录增加数组大小减小数组大小增加数组大小前面当我们向数组中添加元素时,如果index==size,表示数组已满。if (size == data.length) { throw new IllegalArgumentException(&amp;amp;quot;Add is fail.Array is full&amp;amp;quot;);}现在可以考虑这样做,依然判断插入位置是否合法,但是当size等于数组长度时,自动为数...原创 2019-02-25 21:52:15 · 522 阅读 · 0 评论 -
栈和队列
栈自定义栈的实现,我们复用前面写的动态数组类。先写一个栈的接口,接口内需要的方法分别是:进栈、出栈、栈顶元素、栈的长度、栈是否为空。public interface Stack&amp;lt;T&amp;gt; { void push(T e); T pop(); T peek(); int getSize(); boolean isEmpty();}然后写一实现...原创 2019-03-03 20:04:46 · 288 阅读 · 0 评论 -
循环队列
目录循环队列入队扩容出队循环队列如图,判断循环队列是否已满是根据队首front和队尾tail的关系。如果数组的最后一个位置已有元素,但是队首前面依然有空格也不表示队列已满。需要注意的是,我们需要空余出一个位置来,以图中为例,此时“tail+1= =front”,如果继续填入元素,那么tail==front,和判断队列是否为空——“front= =tail”就冲突了。因此当“tail+1= =...原创 2019-03-03 20:05:52 · 428 阅读 · 0 评论 -
二分搜索树
目录概念创建一个二分搜索树类添加元素查询先序遍历中序遍历后序遍历先序遍历的非递归实现概念二分搜索树是二叉树二分搜索树的每个节点的值-&gt;大于其左子树的每个节点的值,小于其右子树的每个节点的值。因此二分搜索树不包含重复节点。存储的元素具有可比较性。创建一个二分搜索树类public class BST&lt;E extends Comparable&lt;E&gt;&gt; { ...原创 2019-03-11 23:54:30 · 196 阅读 · 0 评论
分享