算法与数据结构
YOLO97
坚持是刻意的练习!从容是生活的态度!
展开
-
链表——动态链表、静态链表
动态链表链表是一种物理上非连续、非顺序的存储结构,数据元素之间的顺序是通过每个元素的指针关联的。链表由一系列节点组成,每个节点一般至少会包含两部分信息:一部分是元素数据本身,另一部分是指向下一个元素地址的指针。链表分为单向链表和双向链表。链表的存储结构链表的每个节点包含两个部分,分别是数据(data)和指向下一个节点的指针(next). 链表的操作链表的操作有:创建、插入...原创 2018-09-08 09:45:31 · 1200 阅读 · 0 评论 -
问题(二)——如何反转链表
把链表的每个指针反转。知识点:链表代码实现:/** * 反转链表 */ public void reverse(){ Node temp = first; last = temp; Node next = first.getNext(); for(int i = 0;i < size ...原创 2018-09-08 11:42:20 · 535 阅读 · 0 评论 -
栈、队列(详细图解与代码实现)
栈栈是一种只能在一端进行插入和删除的线性数据结构。主要有进栈(Push)和出栈(POP)两个操作。- 栈的存储结构栈一般使用一段连续的空间进行存储,通常预先分配一个长度,可以简单地使用数组去实现,具体的存储结构如下图所示: - 栈的特点只能在一端进行操作,在遵循先进后出(FILO,First In Last Out)或后进先出(LIFO,Last In First Out...原创 2018-09-07 11:39:46 · 3964 阅读 · 0 评论 -
问题(一)——栈是如何实现和队列一样从栈的底层抽出元素?
一般我们用两个栈实现队列 知识点:栈、队列将入队都在stack1中进行,出队在stack2中进行。入队:直接把元素压入stack1中。出队:如果stack2不为空,则直接弹出stack2中的元素;如果stack2为空,则将stack1中的所有元素倒入stack2中然后弹出stack2中的栈顶元素。同源,若两个栈都为空栈,则队列为空队,无法出队。代码实现pac...原创 2018-09-07 12:40:33 · 535 阅读 · 0 评论