摘要: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 队列的特性:先进先出; 以下代码是用链表实现的队列: 1.队列的接口 2.队列类 阅读全文
posted @ 2019-01-01 20:37 Spider&Man 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。栈的特性:后进先出 栈主要分为两类: 静态栈 动态栈 【静态栈】 静态栈的核心是数组,类似于一个连续内存的数组,我们只能操作其栈顶元素。 【动态栈】 动态栈的核心是链表,在内存中可以不连续,我们只能操作其栈顶结点。 以下代码 阅读全文
posted @ 2019-01-01 20:12 Spider&Man 阅读(1617) 评论(0) 推荐(0) 编辑
摘要: 主要的方法是使用快慢指针来解决,然后让快慢指针同时向前进(让慢指针一次移动一步,快指针一次移动两步),当慢指针移动k下时指向了环路的开头,此时快指针已经在环路中移动了k下了,设环路有L个结点这么长,那么快指针与慢指针相距为L-k的路径长度。因为都已经进入了环路内,现在就是快指针追慢指针了,慢指针一次 阅读全文
posted @ 2019-01-01 19:25 Spider&Man 阅读(470) 评论(0) 推荐(0) 编辑