数据结构
数据结构与算法
拿了桔子跑啊1
美人鱼的眼泪是一个连伤心都透明的世界
展开
-
数据结构-链表
文章目录链表概述实现链表链表实现栈链表实现队列链表概述真正的动态数据结构,也是最简单的动态数据结构,可以更深入的理解引用(或者指针),更深入的理解递归操作。优点:真正的动态,不需要处理固定容量的问题缺点:丧失了随机访问的能力实现链表添加元素的过程在指定位置进行插入元素时,需要辅助节点prev进行维护。public class LinkedList<E> { //节点类 private class Node { public E e; p原创 2020-07-20 16:33:13 · 654 阅读 · 0 评论 -
数据结构-动态数组实现队列
文章目录队列Queue实现一个队列循环队列队列Queue队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First in First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。实现一个队列创建队列接口,主要方法如下。public interface Queue<E> { int getSize(); boolean isEmpty(); void enqueue(E e)原创 2020-07-19 18:20:29 · 411 阅读 · 0 评论 -
数据结构-动态数组实现栈
栈Stack栈也是一种线性结构,相比数组,栈对应的操作是数组的子集栈是一种后进先出的数据结构,只能从一端添加元素,也只能从一端取出元素,这一端称为栈顶手写一个栈创建一个栈接口,包含哪些具体方法。public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();}利用动态数组,实现一个栈结构public class原创 2020-07-01 15:39:44 · 292 阅读 · 0 评论 -
数据结构-数组
数组数组的概念这里不在赘述了。手写一个数组容器包含查询元素、添加元素、获取元素、删除元素自动扩容等功能,支持泛型。根据数组特性在对数组进行删除元素时,要对元素进行移位,头插和尾插添加元素时也要对数组元素进行移位。扩容时扩容因子,先暂时设置为2,因为在扩容时,对新的数组容量其实不好判断,扩容时应该与当前数据量是有关的,也就是应该和当前数组的元素个数是同一个数量级的。“缩容”时,size 为 data.length / 4 时才进行缩容,这里不设置为size 为 data.length / 2,是原创 2020-06-29 17:42:12 · 227 阅读 · 0 评论
分享