数据结构的实现
封装二次封装数组,队列,栈,链表,二叉树
金石不渝
这个作者很懒,什么都没留下…
展开
-
泡泡可视化
泡泡可视化里面有很多代码注释:1、代码:package gui3;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.HeadlessException;import java.awt.RenderingHints;import java.awt.g原创 2020-12-12 23:28:52 · 179 阅读 · 1 评论 -
迷宫可视化|设计dfs算法
迷宫可视化直接上结果图片如下:代码分析:迷宫思路实现:①MazeData类:变量:1、需要入口和出口坐标2、记录访问过的路径3、记录走过的路径4、绘制迷宫地图二维数组5、迷宫标记墙和路径初始化:1、传入文件路径,转化为输入流2、实例化变量3、遍历,存入maze二维数组。方法实现:1、getMaze(i,j)在二维数组里面获取任意一个值2、InArear(x,y)判断有没有在二维数组内3、print()打印出来②AlgoFrame类:变量:1、画布的宽和高2、存储原创 2020-12-12 23:18:06 · 761 阅读 · 0 评论 -
二分搜索树的实现
二分搜索树的实现1、要新建节点:要包含左子树和有子树package BinarySearchTree;public class Node<E extends Comparable<E>> { public E e; public Node left,right; public Node(E e) { this.e = e; this.left = null; this.right = null; } }2、实现树结构包括增删改查功能原创 2020-11-10 20:53:12 · 139 阅读 · 1 评论 -
单链表的实现
节点的封装:package SingleLinkedList;/* * 但链表表节点的封装 * 一个Node节点包含的数据是元素和下一个节点的连接 */public class Node <E>{ public E e; public Node next; public Node(E e, Node next) { this.e = e; this.next = next; } public Node(E e) { this(e, null); } publ原创 2020-10-23 10:22:05 · 73 阅读 · 0 评论 -
用链表实现队列
用单链表实现队列package SingleLinkedListQueue;import LoopQueue.Queue;/* * 用链表实现队列 ,然后和数组实现队列比较一下时间复杂度 */public class LinkedListQueue<E> implements Queue<E>{ private class Node{// 声明两个成员变量:数据e,下一个节点next public E e; public Node next;原创 2020-10-23 10:15:05 · 425 阅读 · 1 评论 -
用链表实现栈
单链表作为底层,实现栈的数据结构栈的实现:package SingleLinkedListStack;import ArrayStack.Stack;import SingleLinkedList.Node;import SingleLinkedList.SingleLinkedList;/* * 用链表作为栈的底层 */public class SingleLinkedListStack <E> implements Stack<E>{// 用链表作为栈的底原创 2020-10-23 09:55:13 · 1573 阅读 · 0 评论 -
数组实现循环队列
用数组实现循环队列实现队列接口package ArrayQueue;public interface Queue<E> { //1、入队 void enqueue(E e); //2、出队 E dequeue(); //3、查询队首元素 E getFront(); //4、查询队尾元素 E getRear(); //5、查询队列存放多少个元素的个数 int getSize(); //6、查询队列是否为空 boolean isEmpty();}实现队列方原创 2020-10-08 20:48:14 · 356 阅读 · 0 评论 -
普通数组实现循环队列
普通数组实现循环队列队列的接口package ArrayQueue;public interface Queue<E> { //1、入队 void enqueue(E e); //2、出队 E dequeue(); //3、查询队首元素 E getFront(); //4、查询队尾元素 //5、查询队列存放多少个元素的个数 int getSize(); //6、查询队列是否为空 boolean isEmpty(); }普通数组的封装package原创 2020-11-27 10:17:08 · 122 阅读 · 0 评论 -
普通数组进实现栈
用封装数组进实现栈准备好自己封装的数组(有对封装数组进行讲解)package Array;public class MyArray <E>{ private E []data; //1新键一个数组 private int size; //2 新键计数数组个数 public MyArray(int size) { data=(E[])new Object[size]; size=0; } public MyArray() { //3 初始化完成原创 2020-10-08 22:08:01 · 213 阅读 · 0 评论 -
普通数组的实现
普通数组的实现package ArrayStack;public class MyArray <E>{ private E []data; //1新键一个数组 private int size; //2 新键计数数组个数 public MyArray(int size) { data=(E[])new Object[size]; size=0; } public MyArray() { //3 初始化完成 this(10); } //原创 2020-11-27 09:44:10 · 140 阅读 · 0 评论