数据结构(JAVA版)
热爱艺术的程序员
github:https://github.com/AndrewLauGithub
展开
-
折半查找(二分查找)-JAVA版
import java.util.Scanner;public class BinarySearch { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("折半查找:"); Scan...原创 2019-06-05 23:31:07 · 171 阅读 · 0 评论 -
数据结构(JAVA版)
数据结构JAVA语言版常用算法和数据结构持续更新中:单链表:https://blog.csdn.net/qq_16261421/article/details/92423147循环单链表:https://blog.csdn.net/qq_16261421/article/details/92423447循环双链表:https://blog.csdn.net/qq_1626142...原创 2020-05-06 21:26:47 · 444 阅读 · 0 评论 -
顺序存储二叉树-JAVA语言实现
建立一个二叉树的顺序存储类,按照先序遍历的方式将二叉树存储起来。public class BinaryTreeByArray { int[] data; public BinaryTreeByArray(int[] data){ this.data = data; } public void preOrder(){ preOr...原创 2019-10-22 22:17:32 · 224 阅读 · 0 评论 -
堆排序-JAVA语言实现
import java.util.Arrays;public class HeapSort { public static void main(String[] args) { int[] arr = new int[]{5,4,1,9,8,6,3,7,2,0,1}; System.out.println("排序前:"); System...原创 2019-10-22 22:12:54 · 129 阅读 · 0 评论 -
二叉树的查找和删除-JAVA语言实现
public class BinaryTree { TreeNode root; public void setRoot(TreeNode root) { this.root = root; } public TreeNode getRoot() { return root; } //前序遍历 publ...原创 2019-10-20 21:41:47 · 597 阅读 · 0 评论 -
二叉树的三种遍历(先序遍历,中序遍历,后续遍历)-JAVA语言实现
二叉树的三种遍历方式,递归实现。public class TreeNode { int value; TreeNode leftNode; TreeNode rightNode; public TreeNode(int value){ this.value = value; } public void setLeftNod...原创 2019-10-20 20:50:28 · 258 阅读 · 0 评论 -
基数排序(使用队列的方法)-JAVA语言实现
用队列来实现基数排序。 在之前的基数排序-JAVA语言实现一文中,采用数组来存储每一个桶中的元素,然后将桶中的元素依次取出进行下一次的排序,由于这种操作方式是先进先出的顺序,满足队列这种数据结构,因此,可以使用对列来作为桶进行数据测存储。首先创建一个队列类,来实现队列的各种操作,队列的各种操作详情见顺序队列-JAVA语言实现一文。public class SeqQueue...原创 2019-10-20 18:46:22 · 492 阅读 · 0 评论 -
基数排序-JAVA语言实现
import java.util.Arrays;public class RadixSort { public static void main(String[] args) { int[] arr = new int[]{0,879,78,56,4,15,23,11,47,22,100}; System.out.println("排序之前:"); ...原创 2019-10-20 17:58:01 · 161 阅读 · 0 评论 -
归并排序-JAVA语言实现
import java.util.Arrays;public class MergeSort { public static void main(String[] args) { int [] arr = new int[]{5,0,1,7,8,4,6,3,9,2}; System.out.println("排序之前:"); Syste...原创 2019-10-20 16:52:48 · 148 阅读 · 0 评论 -
环形队列-JAVA语言实现
环形队列实现类:public class CycleQueue { private int maxSize; // 表示数组的最大容量 //front 变量的含义做一个调整: front 就指向队列的第一个元素, 也就是说 arr[front] 就是队列的第一个元素 front 的初始值 = 0 private int front; //rear 变量的含义做...原创 2019-10-15 23:29:31 · 452 阅读 · 1 评论 -
顺序队列-JAVA语言实现
测试用例public class SeqQueueDemo { public static void main(String[] args) { //测试用例 SeqQueue seqQueue = new SeqQueue(5); System.out.println("---------向队列中添加元素--------------...原创 2019-10-15 14:31:25 · 328 阅读 · 0 评论 -
折半插入排序(二分插入排序)-JAVA语言版本
import java.util.Arrays;public class BinaryInsertSort { //这般插入排序 public static void main(String[] args) { int[] arr = new int[]{5,1,0,3,4,2,7,9,8,6}; System.out.println("排序之...原创 2019-10-15 13:56:35 · 129 阅读 · 1 评论 -
直接选择排序-JAVA语言实现
import java.util.Arrays;public class SelectSort { public static void main(String[] args) { int[] arr = new int[]{3,4,1,2,0,9,6,8,7,0}; System.out.println("排序之前:"+ Arrays.toStrin...原创 2019-10-13 23:24:25 · 137 阅读 · 0 评论 -
希尔排序-JAVA语言实现
import java.util.Arrays;public class ShellSort { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = new int[]{8,5,7,9,1,3,4,2,6,0}; System.out.println("...原创 2019-10-13 23:01:33 · 125 阅读 · 0 评论 -
快速排序-JAVA语言实现
import java.util.Scanner;public class QuickSort { /** * @param args */ public static void Display(int[] arr, int n){ for(int i = 0; i < n; i++){ System.out.print(arr[i]+" "); }...原创 2019-10-13 16:39:02 · 128 阅读 · 0 评论 -
顺序查找-JAVA版
import java.util.Scanner;public class LinerSearch { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("线性查找:"); Scann...原创 2019-06-05 23:29:24 · 138 阅读 · 0 评论 -
直接插入排序-JAVA语言实现
//直接插入排序import java.util.Arrays;public class DirectInsertSort { /** * @param args */ public static void DirectInsertSort(int[]arr){ for(int i = 1; i < arr.length;i++){ if(arr[i-1]...原创 2019-10-13 16:31:53 · 110 阅读 · 0 评论 -
冒泡排序-JAVA语言实现
import java.util.Scanner;public class BubbleSort { /** * @param args * Andrew Peng Liu */ public static void Display(int[] arr, int n){ for(int i = 0; i < n; i++){ System.out.pri...原创 2019-10-13 16:30:03 · 156 阅读 · 0 评论 -
二分查找-JAVA语言实现
import java.util.Scanner;public class BinarySearch { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("折半查找:"); Scan...原创 2019-10-13 16:27:13 · 128 阅读 · 0 评论 -
循环双链表-JAVA语言实现
定义循环双链表类。package DoubleLinkList;public class DoubleNode { DoubleNode pre = this; DoubleNode next = this; int data; //创建构造函数 public DoubleNode(int data) { this.data = data; } //增加节点 ...原创 2019-06-16 20:04:00 · 404 阅读 · 0 评论 -
循环单链表-JAVA语言实现
定义循环单链表类,用来实现循环单链表public class CycleNode { //节点内容 int data; //在循环链表中,只有一个节点的循环链表的下一个节点指向其自身 CycleNode next = this; //构造函数 public CycleNode(int data) { this.data = data; } //获取下一个节点...原创 2019-06-16 20:01:31 · 762 阅读 · 0 评论 -
单链表-JAVA语言实现
定义一个类,用来实现单链表的基本操作。public class Node { //节点内容 int data; //下一个节点 Node next; //构造函数 public Node(int data) { this.data = data; } //为节点追加节点 public Node append(Node node) { //方法1 // t...原创 2019-06-16 19:56:56 · 335 阅读 · 0 评论 -
队列简单实现-JAVA语言实现
用数组来实现队列,具体过程如下:public class MyQueue { int[] elements; //构造方法 public MyQueue() { elements = new int[0]; } //入队 public void add(int elem) { //创建一个新数组 int[] element = new int[element...原创 2019-06-16 19:50:16 · 301 阅读 · 0 评论 -
栈-JAVA语言实现
栈的数组实现方式:定义一个“栈类”,用数组来实现栈的具体操作过程。public class MyStack { //栈的实现过程 int[] elements; //构造函数 初始化一个栈 public MyStack() { elements = new int[1]; } //向栈顶压入元素 public void push(int elem) { i...原创 2019-06-05 23:11:09 · 391 阅读 · 0 评论