
一些小练习
日常课堂练习
sand~zang
还是要努力鸭~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用两个栈实现一个队列&用两个队列实现一个栈
1、思路用两个栈实现一个队列&用两个队列实现一个栈a.区别和联系相同点:(1)栈和队列都是控制访问点的线性表; (2)栈和队列都是允许在端点处进行数据的插入和删除的数据结构;不同点:(1)栈遵循“后进先出(LIFO)”的原则,即只能在该线性表的一头进行数据的插入和删除,该位置称为“栈顶”,而另外一头称为“栈底”;根据该特性,实现栈时用顺序表比较...原创 2019-09-27 14:45:01 · 262 阅读 · 0 评论 -
两个链表有序,将两个有序单链表合并成一个有序单链表。
思路:1、分析从合并两个链表的头结点开始。比较两个链表头结点的值,较小头结点链表将是合并后链表的头结点。2、继续合并两个链表中剩余的结点。在两个链表中剩下的结点依然是排序的,因此合并这两个链表的步骤和前面的步骤是一样的。我们还是比较两个头结点的值。3、当我们得到两个链表中值较小的头结点并把它链接到已经合并的链表之后,两个链表剩余的结点依然是排序的,因此合并的步骤和之前的步骤是一样的。...原创 2019-09-19 15:50:29 · 4140 阅读 · 0 评论 -
单链表逆置
思路:顺着头结点往尾结点遍历,遍历期间把每个结点的nextNode替换掉,替换过程需要注意临时存储下一个节点。代码实现:public class Link<T extends Comparable<T>> { private Entry<T> headEntry; private Entry<T> tailEntry;//...原创 2019-10-06 17:11:56 · 165 阅读 · 0 评论 -
输出链表中的倒数第二个结点
思路:方法一:设p,q方法二:算出总数,去减代码实现public class Link<T extends Comparable<T>> { private Entry<T> headEntry; private Entry<T> tailEntry;//标记尾部 public Entry<T> ...原创 2019-09-19 14:51:16 · 720 阅读 · 0 评论 -
判断单链表是否有环,若有环输出环的入口节点
思路:1、快慢引用 fast 一次跑两个,slow一次跑一个两者相遇有环,但相遇点不一定是入口点,如何证明是不是入口点? 快路径长度=2慢路径长度2、代码实现public class Link<T extends Comparable<T>> { private Entry<T> headEntry; private Entry&...原创 2019-09-19 15:24:18 · 170 阅读 · 0 评论 -
假设两个单链表,已经相交,输出相交节点value。
思路:计算链表长度,先让p走差值步,然后两个同时往后步,走到地址相同,则找到。代码实现public class Link<T extends Comparable<T>> { private Entry<T> headEntry; private Entry<T> tailEntry;//标记尾部 public...原创 2019-09-19 14:45:30 · 173 阅读 · 0 评论 -
泛型单链表
public class Link<T extends Comparable<T>> { private Entry<T> headEntry; private Entry<T> tailEntry;//标记尾部 public Entry<T> getEntry(T value){ for(En...原创 2019-09-18 10:00:01 · 136 阅读 · 0 评论 -
单链表的头增头删尾增尾删
一、单链表的基本介绍链表是一种数据结构,和数组同级,链表在进行循环遍历时效率不高,但是在插入和删除时优势明显。单向链表是一种线性表,是有有结点(Node)组成的,逻辑上是线性的,物理存储上不一定,每个结点只能也只有知道下一个结点的存储位置,向外暴露的只有一个头结点(head),对链表的所有操作都是直接或者间接地通过头结点来实现的。结点有两部分组成:value,next单链表分为两种...原创 2019-09-18 09:48:46 · 802 阅读 · 0 评论