Semaphore Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目。应用场景:资源访问,服务限流。 Semaphore 实现AbstractQueuedSynchronizer的方法与ReentrantLock一样 Semaphore构造方法 public Sema ...
分类:
其他好文 时间:
2020-07-18 22:55:40
阅读次数:
108
代码如下: /***************************************** * 入队列操作 * 首先,创建一个单链表的结点 * 将这个结点挂在现在队伍的队尾后面 * 再将队尾指向这个节点 * ***************************************/ #i ...
分类:
编程语言 时间:
2020-07-18 22:43:20
阅读次数:
79
1,线性表并不等于数组,线性表可以通过数组实现也可以通过链表实现,它是ADT的一种,除了包含数据,也包含对这些数据的处理(可以理解为函数)。 2,它像类一样封装,就像理解操作系统中的管道。 考点: 1,线性表分为顺序表和链表,要熟悉相关的基本操作,进而组合实现出复杂的操作。 2,主要是算法设计题,结 ...
分类:
其他好文 时间:
2020-07-18 22:33:40
阅读次数:
66
1 什么是链表 link(链表)就是将自定义的结构体类型链接在一起,方便使用。就好比自定义类型的数组。 2 为什么需要链表 当想要申请自定义类型类似数组功能的时候就出现了 3 链表的数据结构 struct link{ int a; struct link* next; } 中间的next指针是核心功 ...
分类:
其他好文 时间:
2020-07-18 22:22:37
阅读次数:
73
原题链接 题解 利用双指针算法,直接让后面一个指向前面一个 代码如下 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x ...
分类:
其他好文 时间:
2020-07-18 22:12:35
阅读次数:
56
1. 队列定义: 一种可以实现 “先进先出” 的存储结构(类似于排队) 只允许在一端插入元素,在另一端删除元素,不可以混在一起 2. 队列分类: 链式队列:由链表实现的队列,本质是链表 静态队列:由数组实现的队列,本质是数组 3. 循环队列讲解 静态队列为什么必须时循环队列:静态队列必须是循环队列, ...
分类:
其他好文 时间:
2020-07-18 22:07:03
阅读次数:
68
MySQL源码关于链表的实现在ut0lst.h文件中,其设计思路与常规略有不同,基本思想是指针嵌于对象之内,如下图所示。 在这种实现方式下,构造一个链表需要同时指定对象类型和对象内指针节点的地址。为什么这么复杂呢?我们对比一下C++11标准库中list的实现,发现其就是一个模板类,构造一个list只 ...
分类:
数据库 时间:
2020-07-18 19:51:54
阅读次数:
75
实现一个双链表,双链表初始为空,支持5种操作: (1) 在最左侧插入一个数; (2) 在最右侧插入一个数; (3) 将第k个插入的数删除; (4) 在第k个插入的数左侧插入一个数; (5) 在第k个插入的数右侧插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从左到右输出整个链表。 注意:题 ...
分类:
编程语言 时间:
2020-07-18 16:12:16
阅读次数:
76
题解:双指针 一个指针一次移动2步,一个指针一次移动一步。如果两个指针相遇证明存在环. /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) ...
分类:
其他好文 时间:
2020-07-18 13:44:37
阅读次数:
47
题解:hashset(没有达到进阶的要求) /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = ...
分类:
其他好文 时间:
2020-07-18 11:31:09
阅读次数:
54