首页
学习
活动
专区
圈层
工具
发布

#链表

【数据结构初阶】--栈与队列(队列)

用户11915063

前言:上篇博客我们学习了栈的相关知识,掌握了栈的结构与特性,这篇博客将带着大家学习队列的相关知识,希望大家继续坚持下去🌹🌹🌹

2000

【数据结构初阶】--单链表(二)

用户11915063

前言:上篇博客我们学习了单链表的尾插、头插、尾删、头删四个接口的操作,那么这篇博客将给大家分享剩余单链表的所有的接口,希望大家继续坚持下去🌹🌹🌹

1000

《C++ STL list详解指南》:从接口实现到容器性能对比,掌握你对链表容器的高效使用!

用户11915063

list 的本质是双向循环链表,且带有一个"哨兵位头结点"(不存储有效数据),结构如下:

600

高并发内存池(四):内存释放原理与实现

敲上瘾

在ThreadCache层我们探讨过这样一个问题,某一时段某个线程可能需要大量内存,不断向span桶中申请。而用完后这些内存就被放回它自己的自由...

10010

高并发内存池(二):CentralCache(中心缓存)的实现

敲上瘾

上期讲了Thread Cache的实现,但并未对在Central Cache中如何申请内存进行讲解。接下来让我们会对Central Cache的...

9410

哈希表——unordered_set和unordered_map的封装

敲上瘾

在本章关于哈希表的设计在这里就随便提一点不再过多的讲解,而把重点放在封装部分。

13610

set和map结构的使用

敲上瘾

在正式讲解set和map之前需要先了解这个概念——序列式容器和关联式容器。比如string、vector、list、deque等这些储存结构都是...

8510

高并发内存池(完整版):支撑百万级并发的幕后英雄

敲上瘾

因为要在Span链表中取一个有用的Span节点,所以需要遍历Span链表,那么可以模拟一个迭代器。我们在SpanList类中封装这两个函数:

16610

高并发内存池(一):项目介绍和ThreadCache(线程缓存)实现

敲上瘾

该篇文章将要介绍的⾼并发的内存池,它的原型是google的⼀个开源项⽬tcmalloc,全称Thread-Caching Malloc,即线程缓...

13710

定长内存池原理及实现

敲上瘾

所谓“池化技术”,就是程序先向系统申请过量的资源,然后⾃⼰管理,以备不时之需。之所以要申请过量的资源,是因为每次申请该资源都有较⼤的开销,不如提...

10510

股票交易系统

敲上瘾

8.用户可以对股票进行排序,通过键盘上的上下键来控制“↓ ↓”选择需要排序的数据,提供现价和涨幅的排序,回撤一次,股票进行降序排序,再次回撤进行...

11910

二叉树(详解)

敲上瘾

在了解二叉树之前呢我们先来了解一下树形结构,因为二叉树就是树形结构的一种特殊情况,它有这非常好的性质,是很常用的一种结构。

6510

队列(详解)

敲上瘾

        队列(Queue)是一种常见的数据结构,它按照先进先出的原则管理数据。这意味着最先进入队列的元素将被最先移出队列,类似于现实生活中排队的场景。 ...

13010

链表经典面试题

敲上瘾

分析:首先确定函数的返回值,需要返回的是反转后的头节点,显然,返转后的头结点是原链表的尾结点,而原链表的头结点应该指向NULL。

7410

链表创建的陷阱与细节(详细讲解)

敲上瘾

链表是线性表的一种,它在逻辑结构上是连续的,在物理结构上是非连续的。

11010

贪吃蛇双人模式设计(2)

敲上瘾

双人模式的主逻辑和单人模式差不多,就不在赘述,接下来就只讲一些要点,下面是头文件声明

9910

力扣经典150题第六十题:反转链表 II

用户8589624

在本文中,我们将解决LeetCode上的第六十题,即反转链表 II。题目要求给定一个单链表的头指针head和两个整数left和right,其中left <= r...

7110

力扣经典150题第五十九题: 随机链表的复制

用户8589624

随机链表的深拷贝是一道经典的链表问题,需要在复制链表的同时处理随机指针。在本文中,我们将使用Java来解决LeetCode上的第五十九题,实现随机链表的深拷贝。

8410

力扣经典150题第五十八题:合并两个有序链表

用户8589624

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

10710

力扣经典150题第五十七题:两数相加

用户8589624

给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。

10010
领券