![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构学习
一凉良
加油学习,成为年轻有头发的架构师!
展开
-
用java实现动态的数组结构
java中的数组在被开始创建的时候就必须要初始化,这点与我们的list或者collection就会有很大的区别。而如果我们来进行封装的话,就可以实现一个(伪)动态数组。在个人维护的数组中,内部可以封装其中私有变量的数组,不对外部提供,从而实现保密。对外提供的只有构造方法以及增删盖查的方法,而通过Capacity(数组初始容量)可以动态的来增加或者减少数组的长度,从而节省内存。当然对于一些特殊需...原创 2019-03-27 11:03:58 · 546 阅读 · 0 评论 -
java代码中Stack实现原理
栈是java存放内存的两种结构之一。栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表。这种数据结构,它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。 也就是说,栈是只能在某一端插入和删除的特殊线性表。我们可以将栈理解成一个杯子,或者是一个桶,而桶的底部则是实心的。这样我们存放东西的东...原创 2019-03-27 16:02:53 · 2355 阅读 · 1 评论 -
用数组实现Stack结构
上节说了Stack结构的特点,以及在java中是如何实现的。java代码中Stack实现原理通过上面这篇文章可以知道,Stack是继承了Vector类,也就是列表,而Vector的底层结构中,其实是维护了一个数组的。那么现在我们直接用自己写的数组类来实现一下栈的结构吧。增强的数组Arraypackage java.it.data;public class Stack<T> ...原创 2019-03-28 09:08:52 · 754 阅读 · 1 评论 -
数据结构之队列QUEUE
队列是一种常见的数据结构。队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。上述内容取自于百度百科,也简单的介绍了下队列是什么样的一种结构。这种线性表的规则就是FIFO(First in first out),谁是第一个进去的,谁就...原创 2019-03-28 12:03:32 · 451 阅读 · 1 评论