数据结构
小茹想睡觉
在一切破旧褪色中,请你永远闪烁
展开
-
环形链表---------约瑟夫问题
环形链表---------约瑟夫问题 单向环形链表 约瑟夫问题:设编号为1,2,……………….,n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,以此类推,直到所有人出列为止,由此产生一个出队编号的序列。 思路: 创建第一个节点的时候 ,让first指向该节点,并自己形成一个环状 后面当我们每创建一个新的节点,就把该节点,加入到已有的环形链表中,将最后一个节点的next指向第一个节点 根据用户的输入,生成原创 2022-04-03 15:52:43 · 1038 阅读 · 0 评论 -
数据结构--------栈
数据结构--------栈 栈的介绍 栈使用一个先入后出的有序列表 栈是限制线性表中元素插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶,另一段为固定端,称为栈底 根据栈的定义可知,最后放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素恰好相反,最后放入的元素最先删除,最先放入的元素最后删除。 栈的应用场景 子程序的调用 处理递归调用 表达式的转换 二叉树的遍历 图形的深度优先搜索法 数组模拟栈 代码实现 package co原创 2022-04-03 15:50:38 · 445 阅读 · 0 评论 -
数据结构--------双向链表的增删改查
双向链表 单向链表缺点分析 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找 单向链表不能自我删除,需要靠辅助节点,而双向链表可以自我删除 分析双向链表的遍历,添加,修改,删除的操作思路 ===》代码实现 遍历方法和单链表一样,既可以从前面遍历,也可以从后面遍历 添加(默认添加到双向链表的最后) 先找到双向链表的最后节点 temp.next = newHeroNode 修改的思路和原来的单向链表一样原创 2022-03-08 15:38:18 · 319 阅读 · 0 评论 -
数据结构-------数组模拟队列、环形队列
队列 1、队列介绍 队列是一个有序列表,可以是数组或是链表来实现 遵循先入先出的原则,即:先存入队列的数据,要 先取出。后存入的数据要后取出。 示意图 1.1、数组模拟队列 如上图所示: maxSize表示该队列的最大容量 两个变量front和rear分别记录队列前后端的下标,front会随着数据的输出而改变,rear会随着数据的输入而改变 package com.queue; import java.util.Scanner; import javax.x原创 2022-03-06 10:45:10 · 622 阅读 · 0 评论