![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法(java)
文章平均质量分 59
最初的↘那颗心
这个作者很懒,什么都没留下…
展开
-
LeetCode 热题4-6
leetcode热题原创 2022-07-29 00:43:07 · 54 阅读 · 0 评论 -
LeetCode 热题 1-3
LeetCode热题 1-3原创 2022-07-28 00:13:00 · 150 阅读 · 0 评论 -
迷宫回溯java代码
package com.atguigu.recursion; public class MiGong { public static void main(String[] args) { // 先创建一个二维数组,模拟迷宫 // 地图 int[][] map = new int[8][7]; // 使用1 表示墙 // 上下全部置为1 for (int i = 0;...原创 2020-03-01 23:30:15 · 74 阅读 · 0 评论 -
中缀表达式转后缀表达式
将字符串转换成list集合:s=“1+((2+3)×4)-5”=》ArrayList [1,+,(,(,2,+,3,),*,4,),-,5] 从集合中取出变成逆序数形式:ArrayList [1,+,(,(,2,+,3,),,4,),-,5] =》 ArrayList [1,2,3,+,4,,+,5,–] 计算 package com.hhit.stack; import java.ut...原创 2020-02-29 13:43:22 · 132 阅读 · 0 评论 -
逆波兰表达式的运算
将字符串分割放入list集合中 从list集合中取出按照一定规则放入栈得出结果 package com.hhit.stack; import java.util.ArrayList; import java.util.List; import java.util.Stack; public class PolandNotation { public static void main...原创 2020-02-29 12:04:22 · 166 阅读 · 0 评论 -
栈实现综合计算器(中缀表达式)
计算1+5*13等表达式 package com.hhit.stack; public class Calculator { public static void main(String[] args) { String expression = "70*2*2-5+1+1"; // 15//如何处理多位数的问题? //创建两个栈,数栈,一个符号栈 ...原创 2020-02-28 10:22:49 · 412 阅读 · 0 评论 -
用链表模拟栈的代码实现
和数组的比较 链表容易报空指针异常的数据结构,但是它也有自己的好处,这里面不用判断栈是否已满,因为相对于数组来讲,链表是一种动态的存储方法,只需要在输出的时候判断是否为空即可 用链表模拟栈的代码实现 进栈 出栈 遍历 空栈 package com.hhit.stack; //使用链表模拟栈 public class LinklistStackDemo { public static ...原创 2020-02-27 12:40:47 · 577 阅读 · 3 评论 -
用数组模拟栈的代码实现
栈的介绍 1.栈的英文为(stack) 2.栈是一个先入后出(FILO-First In Last Out)的有序列表。 3.栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。 4.允许入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 5.根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素...原创 2020-02-27 11:58:35 · 139 阅读 · 0 评论 -
约瑟夫问题(单向环形链表的应用)
Josephu 问题 Josephu 问题为:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 提示 用一个不带头结点的循环链表来处理Josephu 问题:先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数...原创 2020-02-26 15:03:04 · 113 阅读 · 0 评论 -
双链表java代码实现
和单链表不同的几点 默认添加到最后只需要加一个node.pre=temp;即可 顺序添加需要分情况,如果添加到一个空链表中temp.next.pre就会为空,导致空指针异常不为空则是: node.next=temp.next; temp.next.pre=node; node.pre=temp; temp.next=node; 3.删除也要分情况,如果删...原创 2020-01-30 11:25:05 · 101 阅读 · 0 评论 -
单链表的练习题
//获取单链表的个数 public static int getLength(HeroNode head){ if(head.next==null){ return 0; } int count=0; HeroNode temp=head.next; while(temp!=nu...原创 2020-01-29 18:19:14 · 169 阅读 · 0 评论 -
单链表java代码实现
package com.atguigu.linkedlist; import java.util.Stack; public class SingleLinkedListDemo { public static void main(String[] args) { //进行测试 //先创建节点 HeroNode hero1 = new HeroNode(1, "宋江", "及时...原创 2020-01-28 20:56:50 · 123 阅读 · 0 评论 -
队列
数组实现队列 普通队列 环形队列 普通队列 代码 package com.hhit; import java.util.Scanner; public class ArrayQueueDemo { //测试一把 public static void main(String[] args) { //创建一个队列 ArrayQueue queu...原创 2020-01-18 14:26:53 · 59 阅读 · 0 评论 -
稀疏数组
什么叫稀疏数组 小案例: 代码实现 package com.hhit; public class SparseArray { public static void main(String[] args) { //二维数组转稀疏数组 //1.创建一个二维数组 int[][] chessArray=new int [11][11]; ...原创 2020-01-15 18:39:45 · 83 阅读 · 0 评论