
趣味编程
qichangjian
菜鸟的学习之路(博客仅用于基础整理,方便查看)
展开
-
用JAVA数组自己实现一个栈
在数组中,若知道数据项的下标,便可立即访问该数据项,或者通过顺序搜索数据项,访问到数组中的各个数据项。但是栈和队列不同,它们的访问是受限制的,即在特定时刻只有一个数据项可以被读取或者被删除队列特点:是先进先出,只能访问头部数据栈的主要机制可以用数组来实现,也可以用链表来实现,下面用数组来实现栈的基本操作代码:/** * 数组实现一个队列 * 队列是先进先出,只能访问头部数据...原创 2019-01-26 20:47:44 · 3522 阅读 · 0 评论 -
用JAVA数组自己实现一个队列(普通队列以及优先级队列)
在数组中,若知道数据项的下标,便可立即访问该数据项,或者通过顺序搜索数据项,访问到数组中的各个数据项。但是栈和队列不同,它们的访问是受限制的,即在特定时刻只有一个数据项可以被读取或者被删除队列是先进先出,只能访问头部数据队列也可以用数组来实现,不过这里有个问题,当数组下标满了后就不能再添加了,但是数组前面由于已经删除队列头的数据了,导致空。所以队列我们可以用循环数组来实现,见下面的代码:下...原创 2019-01-26 21:06:18 · 1010 阅读 · 0 评论 -
用JAVA数组自己实现链表(单链表,双向链表)
我们知道,数组作为数据存储结构有一定的缺陷。在无序数组中,搜索时低效的;而在有序数组中,插入效率又很低;不管在哪一种数组中删除效率都很低。况且一个数组创建后,它的大小是无法改变的。而链表可能是继数组之后第二种使用得最广泛的通用数据结构了。这里主要来讨论并写一个单链表和双向链表。顾名思义,单链表只能从表头到表尾的顺序,每个节点中保存了指向下一个节点的指针;双向链表则可以反向遍历,因为节点中既...原创 2019-01-26 21:20:08 · 4199 阅读 · 2 评论