- 博客(5)
- 收藏
- 关注
原创 多线程教程高并发开发
一、多线程1、什么是多线程?多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。多进程是指操作系统能同时运行多个任务(程序)。多线程是指在同一程序中有多个顺序流在执行。什么是线程什么是进程?1)进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。2)线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。进程可以理解为是一个身体;线程就是身体的一些部分(手、脚
2020-10-29 01:57:06
175
原创 二叉排序树代码实现(java)
二叉排序树说明:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于它的根结点的值;左、右子树也分别为二叉排序树;如果有相等的值,可以放在右边或左边(经量避免相同的值);示意图:[ 5, 8, 9, 4, 1, 3, 2 ,6, 7];删除思路:1)删除一个叶子节点;1.1)首先找到需要删除的节点 node;1.2)找到 node 的父节点 parent;1.3)然后判断 node 是 parent 的左节点还是右节点,如果是左节点直接
2020-10-28 03:59:28
129
原创 java模拟计算器实现后缀表达式(逆波兰表达式)
后缀表达式思路:首先定义一个栈,遍历每个数据1)遇到数字直接入栈;2)遇到字符串就pop();两个值;3)根据当前扫描到的运算符进行计算;4)将结果入栈,栈内最后一个值就是结果;public class Suffix { public static void main(String[] args) { // 定义一个后缀表达式 String str = "3 4 + 5 * 6 -"; List<String> list =
2020-05-31 23:26:10
224
原创 java实现计算器功能(中缀表达式)
使用栈完成表达式计算思路1)通过index值(索引)来扫描表达式;2)如果发现是数字,判断下一个是不是数字,判断到下一个为符号为止放入数栈;3)如果发现是符号,分以下情况;3.1)如果当前符号栈是否为空,为空直接放入符号栈;3.2)如果不为空,如果当前字符优先级是否小于等于符号栈pop(这里不是取出,只是得到)出的符号优先,如果小于等于就从数栈pop出两个值,在从符号栈pop出一个值,并进行计算,将结果push到数栈,将当前字符push到符号栈,如果不小于等于直接入栈;4)当表达式扫描完毕,就顺
2020-05-29 21:47:01
628
原创 java数组链表模拟栈
在这里插入代码片public class Test { public static void main(String[] args) { Inn inn = new Inn(10); Scanner sc = new Scanner(System.in); System.out.println("数组模拟栈"); boolean bo = true; while (bo){ System.out
2020-05-27 23:17:53
215
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人