![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
一只有追求的单身狗
卷卷更健康
展开
-
栈的相关操作
栈的介绍 1,基础概念 栈的英文为(stack) 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除 2,出栈(pop)示意图 [外链图片转存失败,源站可能有原创 2022-05-09 23:31:42 · 92 阅读 · 0 评论 -
数组相关操作
二,二维数组与稀疏数组 实现二维数组与稀疏数组转换 1,创建一个二维数组 public static int[][] chessArry1(){ int chessArray1[][]=new int[11][11]; chessArray1[1][2]=2; chessArray1[2][3]=1; chessArray1[4][5]=9; return chessArray1; } /** * 遍历输出数原创 2022-05-09 23:29:35 · 97 阅读 · 0 评论 -
环形链表操作
3,环形链表 单向环形链表 单向环形链表介绍 案例:与瑟夫问题(josephu) 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 代码实现: /** * 构建一个单向环形链表的思路 * 1,先创建第一个节点,让first指向该节点,并形成环状 * 2,后面每创建一个节点,就把该节点加入到已经创建好的环形链表中 *原创 2022-05-09 23:18:22 · 93 阅读 · 0 评论 -
双向链表操作
2,双向链表介绍 1,双向链表的新增 /** * 实现双向链表的添加操作(不管编号顺序) * * @param headNode_02 */ public void addDoubleList(HeadNode_02 headNode_02) { HeadNode_02 temp = head; //遍历链表,找到最后一个节点 while (true) { if (temp.next ==原创 2022-05-09 23:17:04 · 112 阅读 · 0 评论 -
单链表操作
一,Java中的链表 链表是有序的列表,但是它在内存中是存储如下 总结: 链表是以节点的方式来存储,是链式存储。 每个节点包含 data 域, next 域:指向下一个节点。 如图:发现链表的各个节点不一定是连续存储。 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定。 1,单链表介绍 1,单链表(带头结点) 逻辑结构示意图如下: 2,单链表的CRUD操作案例 2.1,定义一个头节点做为单链表的开始,其中头节点不做数据处理,只是单链表的开始 代码: /** * 定义一原创 2022-05-09 23:14:21 · 275 阅读 · 0 评论