- 博客(10)
- 收藏
- 关注
原创 Linux学习笔记
Linux入门到精通前言:linux学习流程: 第一阶段:Linux环境下的基本操作命令,包括文件操作命令(rm mkdir chmod, chown)编辑工具的使用(vi vim)Linux用户管理(useradd userdel usermod)等。 第二阶段:Linux的各种配置(环境变量的配置,网路配置,服务配置)。 第三阶段:Linux下如何搭建对应语言的开发环境(大数据,JavaEE,Python等)。 第四阶段:能编写shell脚本,对Linux服务器继续维护。 第五阶段
2022-01-19 16:47:58
919
原创 Java代码实现中缀表达式转后缀表达式
中缀转后缀 思路分析:1)初始化两个栈:运算符栈s1和中间结果栈s22)从左到右扫描中缀表达式3)遇到操作数将其压入s24)遇到操作符时,将其与s1栈顶运算符比较优先级 4.1)如果s1为空,或者栈顶元素为“(”直接将其压入运算符栈 4.2)如果优先级比s1栈顶元素的优先级高,将其直接入栈 4.3)如果优先级小于等于s1栈顶元素优先级,则将s1栈顶元素弹出并压入s2中,再次转到4.1与s1中新的栈顶元素比较5)遇到括号 5.1)如果是左括号“(“,直接压入s1 5.2)如果
2021-11-04 10:28:16
346
原创 Java代码实现后缀表达式求值
后缀表达式求值1)后缀表达式又称逆波兰表达式,与前缀表达式相似,只是位于操作数之后2)举例说明:(3+4)*5-6对应的后缀表达式为3 4 + 5 * 6 -后缀表达式的计算机求值从左至右扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素和栈项元素),并将结果入栈;重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果例如: (3+4)X 5-6对应的后缀表达式就是34+5 X 6-,针对后缀表达式求值步骤如下:1)从左至右扫描,
2021-11-04 10:27:16
1783
原创 Java代码实现表达式计算(带括号)
Java代码实现表达式计算(带括号)思路分析:如果是数字,直接放入数栈如果是操作符2.1 判断符号栈是否为空,如果为空直接放入符号栈2.2 如果不为空,判断当前符号2.2.1 是否为括号,如果是"(",直接放入符号栈;如果是")",数栈弹出两个数,符号栈弹出符号继续运算,结果入栈,直到弹出的符号为"("2.2.2 是否为操作符,如果是则判断和栈顶符号的优先级,小于等于则数栈弹出两个数,符号栈弹出符号继续运算,结果入栈,再把扫描的当前运算符入栈若大于直接入栈。清空数栈和符号栈,依
2021-11-02 13:52:38
1508
原创 Java代码栈的实例----表达式计算(不带括号)
栈的实例----表达式计算1)使用两个栈 1.数栈(numberStack):存放数 2.符号栈(operStack):存放运算符2)思路分析 1.通过一个索引index值,遍历表达式 2.如果索引发现一个数字,就入数栈 3.如果索引发现一个符号,就有如下情况 3.1如果发现当前符号栈为空,就直接入栈 3.2如果符号栈有操作符,就进行比较,如果当前符号的优先级小于或者等于栈中操作符,就需要从数栈中pop出两个数,再从符号栈中pop出一个符号,进行运算,得到结果再入数栈,然
2021-10-31 14:35:00
404
原创 Java数据结构单向循环链表实现约瑟夫问题(丢手绢)
环形链表实例:使用环形链表解决约瑟夫问题(丢手绢)构建一个单向环形链表思路 1)先创建第一个节点,让first指向该节点,并形成环形 2)加入环形链表遍历环形链表 1)先让一个辅助指针,指向first节点 2)while循环遍历环形链表package com.cwnu.linkList.link;import com.cwnu.linkList.node.Node;//创建环形的单向链表public class Josepfu { //创建一个first节点,无编号
2021-10-28 10:13:48
193
原创 Java代码实现循环链表
双向链表双向链表具有三个域,数据域,前驱和后驱分析双向链表的遍历,添加,修改,删除的操作1)遍历方法和单链表一样,只是可以向前,也可向后2)添加(默认添加到最后) 1.先找到双向链表的最后节点 2.temp.next = newNode 3.newNode.pre = temp3)修改思路和单向链表一样4)删除 1.因为是双向链表,直接可以找到,然后自我删除 2.要删除的节点temp.pre.next = temp.next 4)temp.next.pre = temp.
2021-10-25 18:58:59
296
原创 Java代码实现单链表----附加小案例
链表链表的介绍 小结:1)链表是以节点的方式存储,是链式存储 2)每个节点包含data域,next域(指向下一个节点) 3)如图发现链表的各个节点不一定是连续存放的 4)链表分为带头结点和没带头节点的链表,根据实际单链表的应用实例 使用带头节点的单向链表实现-水浒传英雄排行榜管理 1)完成对英雄人物的增删改查操作 2)第一种方法添加英雄时,直接添加到链表尾部 添加(创建): 1)先创建一个head头节点,作用就是表示单链表的
2021-10-22 00:33:25
205
原创 数据结构队列Java代码实现
队列队列介绍 1)队列是一个有序列表,可以用数组或是链表来实现 2)遵循先入先出的原则 3)示意图数组模拟队列 **思路分析:**当我们将数据存入队列时称为”addQueue“,addQueue的处理需要两个步骤: 1)将尾部指针往后移动:rear + 1,当rear == front【空队列】 2)若尾部指针rear小于队列最大下标,则表示可以将数据存入队列中,否则无法存入数据。rear==maxSize-1【满队列】 代码实现://使用数组模拟队列
2021-10-21 00:01:31
288
原创 稀疏数组Java代码实现
稀疏数组基本介绍 当一个数组大部分元素为0,或者为同一个值时,可以使用稀疏数组来保存该数组 稀疏数组:总是行不确定,但列是3列的动态数组 稀疏数组的处理方法是: 1)记录数组有几行几列,有多少个不同值 2)把具有不同值的元素的行列及值记录在一个小规模的数组(稀疏数组)中,从而缩小程序的规模 应用场景:编写五子棋程序中 分析问题: 因为该二维数组的很多值都是默认为0,因此记录了很多没有意义的数据----->稀疏数组二维数组转为稀疏数组的思
2021-10-20 23:08:43
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人