数据结构
wushaoji321
这个作者很懒,什么都没留下…
展开
-
单向链表的简单实现--Java
public class Node { Node next; Object data; public Node(Object data){ this.data = data; } }class Linked_List(){ Node head; /** * 查询链表中的元素个数 */ public int getLen(){ Node cur = head.next;原创 2020-08-06 09:12:23 · 260 阅读 · 0 评论 -
栈的数组实现--Java
思路:定义maxSize固定栈的大小,top指向栈顶,初始化为-1,bottom指向栈底初始化为0。当top == -1时,栈为空。当top == maxSize-1时,栈满。public class ArrayStack { int maxSize; int top; int bottom; Object[] arr; public ArrayStack(int maxSize){ this.maxSize = maxSize;原创 2020-08-06 08:37:43 · 159 阅读 · 0 评论 -
环形队列的数组实现(Java)和原理详细图解
环形队列的数组实现(Java)和原理详细图解环形队列可用内存空间为maxSize-1,front指向队列头元素,rear指向队列尾元素后的一个空间。只入队时当front == rear时队列为空,front == rear+1时队列满。图例令maxSize == 8 ,则可用内存为7初始化队列front = 0;rear = 0;由于front == rear 此时队列为空不断向队列中添加元素,直到添加7个元素,此时最后一个元素为a6,rear的内存地址为a6后的空间。仅入队时rear原创 2020-08-05 18:01:01 · 1658 阅读 · 0 评论 -
普通队列的实现(Java数组)及其缺点
用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。public class ArrayQueue { int front; int rear; int maxSize; Object []arr; public ArrayQueue(int maxSize){ front = -1;//指向第一个元素的前一个位置 rear = -1;//指向最后一个 arr原创 2020-08-05 17:06:45 · 297 阅读 · 0 评论 -
稀疏数组与常规数组的转化
稀疏数组当一个数组中大部分元素是无意义数值的时候,可以用稀疏数组来保存改数组。稀疏数组的处理方式:第一行:记录数组有几行几列。有多少个有意义的值值。 第一行以后:把具有不同值的元素和行列以及值记录在 一个小规模的数组中,从而缩小程序的规模 列数恒为3下图左边为常规数组,右边为稀疏数组代码实现:常规数组-->稀疏数组--->常规数组public class SparseArray { public static void main(String[] arg原创 2020-07-31 12:23:06 · 148 阅读 · 0 评论