摘要:
项目中经常遇到执行Git Push后,发现不需要将本次履历提交到目前的分支上。这时候应该怎么操作方便呢? 只需要两行命令就能回退。1.首先使用 git reset --soft HEAD^1 ※注意:^1为撤回最近一次的提交, ^2就是最近两次的提交,以此类推 2.再使用 git push -f ※ 阅读全文
摘要:
大家看到,后缀表达式适合计算机进行计算,但是人却不太容易写出来,尤其是表达式很长的情况下,因此在开发中,我们需要将 中缀表达式转成后缀表达式。 具体步骤如下: 1) 初始化两个栈:运算符栈s1和储存中间结果的栈s2; 2) 从左至右扫描中缀表达式; 3) 遇到操作数时,将其压s2; 4) 遇到运算符 阅读全文
摘要:
输入一个逆波兰表达式(后缀表达式) 例如:(3+4)*5-6对应的后缀表达式就是3 4 + 5 * 6 -, 针对后缀表达式求值步骤如下: a. 从左到右扫描,将3 和 4压入堆栈; b. 遇到+运算符,因此弹出4和3(4为栈顶元素,3为次顶元素),计算出3+4的值,得7,再将7入栈; c. 将5入 阅读全文
摘要:
使用栈实现综合计算器 请输入一个表达式 例:[3+2*6-2] ,直接点击计算,就可以计算出值。 思路分析(图解) 代码如下 【1.先实现一位数的运算,2.扩展到多位数的运算】 1 package com.jyj.stack; 2 3 public class Calculator { 4 publ 阅读全文
摘要:
栈的介绍 栈的英文为(stack)。 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是一个限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bot 阅读全文
摘要:
单向环形链表介绍 Josephu(约瑟夫、约瑟夫环)问题为 设编号为1,2,3,……n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 提示 用一个不带头节 阅读全文
摘要:
单链表的常见面试题有如下: 1. 求单链表中有效节点的个数 代码如下: 1 //方法:获取到单链表的节点的个数(如果是带头节点的链表,需求不统计头节点) 2 /** 3 * @param head 链表的头节点 4 * @return 返回的就是有效节点的个数 5 */ 6 public stati 阅读全文
摘要:
双向链表应用实例 + 代码实现 使用带 head 头的双向链表实现 - 水浒英雄排行榜 管理单向链表的确定分析: 分析双向链表如何完成遍历,添加,修改和删除的思路: 1)遍历和单链表一样,只是可以向前,也可以向后查找 2)添加(默认添加到双向链表的最后) ①先找到双向链表最后的这个节点 ②temp. 阅读全文
摘要:
链表(Linked List)介绍 链表是有序的列表,但是它在内存中是存储如下: 小结: 链表是以节点的方式来存储,是链式存储。 每个节点包含 data域 , next域 : 指向下一个节点。 如图:发现链表的各个节点不一定是连续存储。 链表分带头节点的链表 和 没有带头节点的链表,根据实际的需求来 阅读全文
摘要:
队列 队列的一个使用场景 银行排队的案例: 银行柜台都有人办理业务时,后面来的人,就要进行抽号排队(先来的人号肯定在前面)。 有人业务办理完后,柜台会进行叫号(从最前面的号开始叫)。 队列介绍 队列是一个有序列表,可以用数组或者链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入 阅读全文