线性结构
线性数据结构。
In lethe
近城远山,都是人间。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程同步和死锁和单例设计模式理解
线程与同步 什么是同步 同步就是加锁,不让其它人访问 synchronized指的就是同步的意思 什么情况下需要同步 当多线程并发, 我们希望某一段代码执行的过程中CPU不要切换到其他线程工作. 这时就需要同步,否则会有线程安全问题. 同步代码块 1 使用synchronized关键字加上一个锁对象来定义一段代码, 这就叫同步代码块 2 多个同步代码块如果使用相同的锁对象, 那么他们就是同步的 3...原创 2020-04-12 19:45:09 · 244 阅读 · 0 评论 -
基本队列,双端队列,循环队列及循环双端队列的简单实现
队列是一种特殊的线性表,只能在头尾两端进行操作,遵循先进先出的原则。下面是一些队列接口的简单实现。 双向链表实现基本队列 package com.ldg.queue; import com.ldg.doubles.LinkedList; /*** * 队列:首部执行出队 尾部执行入队 只在首尾进行操作 所以底层用双向链表来实现 时间复杂度很小 * * @author Administr...原创 2020-04-06 11:10:45 · 979 阅读 · 0 评论 -
自己实现双向循环链表和单向循环链表
这次的两循环链表是基于上篇的两链表,不同的就是首尾相互指向,所以主要改动在add,remove方法上。 单向循环链表 在这里插入代码片原创 2020-03-23 13:01:29 · 163 阅读 · 0 评论 -
自己实现简单动态数组,单链表,双向链表
动态数组 动态数组是顺序存储结构,查找,赋值速度很快。 动态数组最灵活、最方便,有助于有效管理内存。例如,可短时间使用一个大数组,然后,在不使用这个数组时,将内存空间释放给系统。 如果不用动态数组,就要声明一个数组,它的大小尽可能达到最大,然后再抹去那些不必要的元素。但是,如果过度使用这种方法,会导致内存的操作环境变慢。 package com.ldg; @SuppressWarnings("u...原创 2020-03-22 18:02:39 · 257 阅读 · 0 评论
分享