求数组中的最大值,用递归实现
摘要:import java.util.Arrays;/** * 求arr[L...R]数组中最大值,用递归实现 */public class GetMaxFromArray { public static void main(String[] args) { int maxNum = 100; int
阅读全文
用栈实现队列
摘要:import java.util.Stack;/** * 用栈实现队列 */public class StackToQueue { public static class MyQueue<T> { public Stack<T> data; public Stack<T> help; public
阅读全文
用队列实现栈
摘要:import java.util.ArrayDeque;/** * 用队列实现栈 */public class QueueToStack { public static class Mystack<T> { // 此处把ArrayDeque当做队列使用 public ArrayDeque<T> da
阅读全文
实现一个栈,在基本功能的基础上,可以返回栈中最小值
摘要:import java.util.Stack;/** * 实现一个栈,在基本功能的基础上,可以返回栈中最小值 */public class GetMinStack { public static class MyStack { public Stack<Integer> stackData; pub
阅读全文
数组实现栈和队列
摘要:/** * 数组实现栈和队列 */public class ArrayToQueueAndStack { public static class MyStack<T> { public Object[] arr; public int size; public int limit; public M
阅读全文
双向链表实现栈和队列
摘要:/** * 双向链表实现栈和队列 */public class DoubleEndsNodeToQueueAndStack { public static class MyQueue<T> { public DoubleEndsNode<T> nodes; public MyQueue() { no
阅读全文
在单向链表中删除指定的key
摘要:/** * 在单向链表中删除指定的key */public class RemoveSpecKeyFromNode { public static class Node<T> { public T value; public Node next; public Node(T node) { this
阅读全文
双向链表反转
摘要:/** * 双向链表反转 */public class RevertDoubleNode { public static class DoubleNode<T> { public T value; public DoubleNode pre; public DoubleNode next; publ
阅读全文
单向链表反转
摘要:/** * 单向链表反转 */public class RevertLinkedNode { public static class Node<T> { public T value; public Node next; public Node(T node) { this.value = node
阅读全文
认识异或运算
摘要:异或运算:相同为0,不同为1。(即不进位相加) 异或运算的性质 1)、0^N=N,N^N=0 2)、异或运算满足交换律和结合律 练习一:如何不用额外变量交换两个数(两个数不指向相同的内存地址) a=a^b; b=a^b; a=a^b; 练习二:一个数组中,一个数出现了奇数次,其他数都出现了偶数次,怎
阅读全文
二分查找
摘要:import java.util.Arrays;/** * 二分查找 * <p> * 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; * 否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否
阅读全文
插入排序
摘要:import java.util.Arrays;/** * 插入排序 * <p> * 插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中, * 然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。 */public c
阅读全文
冒泡排序
摘要:import java.util.Arrays;/** * 冒泡排序 * <p> * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 *
阅读全文
选择排序
摘要:import java.util.Arrays;/** * 选择排序 * <p> * 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置, * 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。 * 以此类推,直到全部待排序的数据元素的个数为零。选
阅读全文
go 语言环境安装
摘要:Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 UNIX/Linux/Mac OS
阅读全文
欧几里得算法
摘要:发明于 2300 多年前的欧几里得算法所示,其目的是找到两个数的最大公约数: 自然语言描述:计算两个非负整数 p 和 q 的最大公约数:若q 是 0,则最大公约数为 p。否则,将 p 除以q 得到余数 r,p 和 q 的最大公约数即为 q 和r 的最大公约数。 Java 语言描述public sta
阅读全文
mysql binlog日志删除
摘要:mysql的binlog日志介绍 Binlog是mysql以二进制形式打印的日志,它默认不加密,不压缩。binlog二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改文件位置和格式:当用--log-bin
阅读全文
在fork的项目里同步别人新增分支的方法
摘要:# 1.将项目B clone 到本地 git clone -b master 项目B的git地址 # 2.将项目A的git地址,添加至本地的remote git remote add upstream 项目A的git地址 # 3.在本地新建一个分支,该分支的名称最好与项目A中新增的那个分支的名称相同
阅读全文