- 博客(14)
- 收藏
- 关注
原创 使用Java编写希尔排序,实现从大到小和从小到大两种排序方式
实现希尔排序的方法类package com.hcc.util;/** * 希尔排序 * @author hcc * */public class HillSort { /** * 希尔排序:就是直接插入排序的进化版 * @param arr * @param arrLength */ public static void sortingMinToMax(...
2018-12-14 16:33:49
816
原创 使用Java编写直接插入排序,实现从大到小和从小到大两种排序方式
实现直接插入排序的方法类package com.hcc.util;/** * 直接插入排序 * @author hcc * */public class DirectInsertSort { /** * 从小到大排序 * @param arr * @param length */ public static void sortingMinToMax(in...
2018-12-14 16:31:09
3032
原创 手动编写快排(快速排序),实现从小到大和从大到小排序
快排的方法类package com.hcc.util;public class QuickSort { /** * * @param arr 存放数据的数组 * @param left 需要排序的开始下标 * @param right 需要排序的结束下标 */ public static void recursiveSort(int[] arr,int l...
2018-12-13 15:59:18
3047
1
原创 堆排序实现,实现了从小到大和从大到小排序(可以参考,讨论)
实现堆排序的方法类package com.hcc.util;/** * 实现堆排序的方法类 * @author hcc * */public class HeapSort { /** * 堆排序 * @param arr 存放数据的数组 * @param arrLength 数组的长度 */ public static void heapSortMinT...
2018-12-12 23:45:57
2997
原创 手动编写AVL(平衡二叉树),实现了基本的add、get 、remove、 toString、 contains等方法,
平衡二叉树:是指一棵空树或者是任意节点的左右孩子的高度相差绝对值小于等于1package com.hcc.DStructure;import java.util.ArrayList;import java.util.concurrent.ArrayBlockingQueue;/** * AVL * @author hcc * * @param <K> * @...
2018-11-16 17:33:05
241
原创 最大堆的实现
对于“堆”的简单描述:常见的堆为二叉堆,在二叉堆中又分为大顶堆(最顶上的元素最大)和小顶堆(最顶上的元素最小),其最终的数据结构还是一个树(完全二叉树),并且所有的节点都比它左右孩子的值大(对于大顶堆)/** * 数据结构:最大堆(基于【我自定义的】链表) * 描述:实现了 添加、删除、判空、判断是否存在 * @author hcc * */public class ArrayH...
2018-10-17 11:47:41
379
1
原创 Java实现二分搜索树(实现了前序、中序、后序遍历(递归、非递归两种方式)、添加元素、删除元素操作)【大家共同学习,有问题可以沟通交流】
二分搜索树的概念:首先它是一个二叉树、二叉搜索树的每一个节点的值都大于其左子树的所有节点的值,小于其右子树上所有节点的值package com.hcc.DStructure;import java.util.Queue;import java.util.Stack;import java.util.concurrent.ArrayBlockingQueue;/** * 二分搜...
2018-10-11 10:47:44
834
原创 循环队列的实现
定义一个接口public interface Queue<E> { //计算队列的大小 int getSize(); //判空 boolean isEmpty(); boolean contains(E e); //入队 void enqueue(E e); //出队 E dequeue(); //获得队首元素 E getFront();}定义一个类,...
2018-09-14 10:51:49
201
原创 队列的实现
基于动态数组实现定义一个接口public interface Queue<E> { //计算队列的大小 int getSize(); //判空 boolean isEmpty(); boolean contains(E e); //入队 void enqueue(E e); //出队 E dequeue(); //获得队首元素 E getFront();...
2018-09-14 10:50:02
154
原创 栈的实现(基于数组)
(基于已写好的动态数组实现的栈)首先写一个接口public interface Stack<E> { int getSize(); boolean isEmpty(); boolean contains(E e); //入栈 void push(E e); //查看栈顶的数据 E peek(); //出栈 E pop();}再写一个继承该接口的栈类...
2018-09-13 11:50:57
472
原创 栈的实现(基于链表)
首先定义一个接口(基于已写好的链表实现的栈)public interface Stack<E> { int getSize(); boolean isEmpty(); boolean contains(E e); //入栈 void push(E e); //查看栈顶的数据 E peek(); //出栈 E pop();}定义一个栈的类,继承Stack接口...
2018-09-11 16:43:26
332
原创 数据结构链表的实现
/** * 链表的实现 * @author hcc * */public class HLinkList<E> { //虚拟头结点 private Node dummy_head; //链表的长度(也是链表中数据的个数) private int size; @SuppressWarnings("unused") private class Node{ pri...
2018-09-11 10:29:25
248
原创 动态数组(使用泛型)实现存储多种复杂数据类型(有问题提出来大家一起学习)
/** * 使用泛型实现存储各种复杂数据类型 * @author hcc * */public class HGenericityArrayList<E> { //默认数组的容量 private static final int DEFAULT_CAPACITY = 10; //用来存储数据的数组 private E[] data; //数据的个数(大小...
2018-09-06 17:07:59
519
原创 动态数组(只存int类型)实现增删改查等基本操作(有错误提出来大家一起学习)
/** * 基于数组编写动态数组的类 * @author hcc */public class HArrayList { //默认数组的容量 private static final int DEFAULT_CAPACITY = 10; //用来存储数据的数组 private int[] data; //数据的个数(大小) private int size; /*...
2018-09-06 17:04:23
677
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人