数据结构与算法
学习中
学nm个锤子
Qtmd
展开
-
队列的两种实现方式
1.数组实现队列/** * @author yhd * @email * @description 数组实现的队列 入队 出队 队列中元素个数 * @since 2021/4/7 0:40 * <p> * 分析:入队 1 2 3 4 5 * 出队1 2 3 4 5 */public class Queue<T> { private T[] arr; public Queue(int size) { arr = (T[])原创 2021-04-07 19:48:34 · 200 阅读 · 0 评论 -
栈的两种实现方式
1.数组实现/** * @author yhd * @email * @description 栈 ,使用数组实现 , 基本操作包括 入栈 出栈 栈中元素个数 * @since 2021/4/7 0:21 */public class Zhan<T> { //栈容器 private T[] arr; //构造器指定栈容量 public Zhan(int size) { arr = (T[]) new Object[size];原创 2021-04-07 19:45:39 · 147 阅读 · 0 评论 -
带头结点的循环单链表
/** * @author yhd * @email * @description 带头结点的循环单链表 * @since 2021/4/2 9:08 */public class CircularLinkedList { static class Node { public int data; public Node next; public Node() { } public Node(int da原创 2021-04-02 10:56:13 · 527 阅读 · 2 评论 -
单链表
public class LinkList { /** * @author yhd * @email * @description 节点 * @params * @return * @since 2021/4/1 16:22 */ static class Node { int data; Node next; public Node(int data) {原创 2021-04-01 22:43:06 · 100 阅读 · 0 评论 -
力扣第一题:两数之和
/** * @author yhd * @createtime 2020/11/11 21:46 * 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 * 给你假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 * 示例: * 给定nums=[2,7,11,15],target =9 * 因为nums[0]+nums[1]=2+7=9 * 所以返回[0,1] */public class Demo1 {原创 2020-11-12 00:28:46 · 227 阅读 · 0 评论 -
02-队列
1.概念队列是一个有序列表,可以用数组或者链表来实现。队列遵循先进先出的原则。2.数组实现环形队列1.思路分析1.自定义一个类来当作队列2.一个头指针和一个尾指针3.一个存放数据的数组4.一个用来初始化数组的最大值2.代码实现public class DemoD { public static void main(String[] args) { MQueue myQueue = new MQueue(3); myQueue.set(0);原创 2020-10-29 23:48:35 · 78 阅读 · 0 评论 -
01-稀疏数组
1.场景五子棋存盘,读取进度。2.思路分析二维数组转换为稀疏数组1.遍历原始的二维数组,得到有效数据的个数sum2.根据sum就可以创建稀疏数组int[sum+1][3]3.将二维数组的有效数据存入到稀疏数组稀疏数组转化为原始的二维数组1.先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组。2.在读取稀疏数组后几行的数据,并赋值给原始数组即可。3.代码实现 @Test public void testA() { //准备数据原创 2020-10-29 11:02:18 · 144 阅读 · 0 评论
分享