- 博客(11)
- 收藏
- 关注
原创 二分查找递归和非递归实现
public class binarysearch { /** * 二分查找---非递归实现 * * @param arr * @param val * @return */ private static int binarySearch(int[] arr, int val) { int left = ...
2019-09-22 17:29:25
221
原创 JAVA集合----Hashtable源码剖析
public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable { private transient Entry<K,V>[] table; //table是一个 Entr...
2019-08-31 15:25:49
181
原创 JAVA集合----HashMap源码剖析
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable{ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //...
2019-08-22 10:46:17
176
原创 JAVA集合----LinkedList源码剖析
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{ transient int size = 0;//LinkedList中元素...
2019-08-21 11:29:17
243
原创 JAVA集合----ArrayList源码剖析
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ private static final long serialVersionUID = 868345...
2019-08-19 04:12:19
149
原创 单链表的应用
1.判断两个单链表是否相交,若相交输出相交节点的值,否则返回NULL /** * 两个单链表是否相交,我们先要得到两个链表的长度,计算出长度的差size,接着先让长链表从头节点走size个, * 然后两个链表开始同时遍历,若可以遇到相同的节点,说明链表相交,否则遍历到null,说明链表没有相交 * @param link * @return ...
2019-08-18 02:17:51
362
原创 单链表实现
//不带头节点的单链表public class Link<T> { private class Entry<E>{ private E value; private Entry<E> next; public Entry(E value){ this.value = value...
2019-08-17 01:27:42
117
原创 Java单例模式
/** * 1.单例模式的定义:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 * 2.单例模式分为懒汉式单例(需要才去创建对象)和饿汉式单例(创建类的实例时就去创建对象) *//** * 饿汉式单例模式---属性实例化对象 */public class HungerSingletonTest { private static final Hun...
2019-08-01 19:32:24
144
原创 Java下的堆排序实现
public class SortTest { public static void main(String[] args) { int[] arr = new int[]{54, 78, 9, 90, 34, 79, 12}; heapSort(arr, arr.length); System.out.println(Arrays.toS...
2019-07-27 17:04:24
114
原创 希尔排序,归并排序,快速排序(Java实现)
/*** 希尔排序* @param arr* @param gap 增量*/private static <T extends Comparable<T>>void shell(T[] arr, int gap) { int i = 0, j = 0; for (i = gap; i < arr.length; i++) ...
2019-07-27 16:45:56
225
原创 三种简单排序算法(Java实现)
/** * 冒泡排序: * 时间复杂度:O(n^2) * 空间复杂度:O(1) * 稳定性:稳定 * * 选择排序: * 时间复杂度:O(n^2) * 空间复杂度:O(1) * 稳定性:不稳定 * * 插入排序: * 时间复杂度:O(n^2) * 空间复杂度:O(1) * 稳定性:稳定 */public static <T extends Comparab...
2019-07-27 15:45:54
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人