栈:后进先出; 队列:先进先出 U?ェ?*U不多废话 直接上正文啦 #include <iostream> using namespace std; struct Node { int data; Node* next; }; class Stack { private: Node* head; N ...
分类:
其他好文 时间:
2020-01-22 21:38:11
阅读次数:
89
优先队列即二叉堆,实现如下: #include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> typedef int Element; #define MAX_BINHEAP_LENGTH 10 struct ...
分类:
编程语言 时间:
2020-01-21 17:52:47
阅读次数:
78
【前言】 队列是众多数据结构中最常见的一种之一。曾经有人和我说过这么一句话,叫做“程序等于数据结构+算法”。因此在设计模块、写代码时,队列常常作为一个很常见的结构出现在模块设计中。DPDK不仅是一个加速网络IO的框架,其内部还提供众多的功能组件,rte_ring就是DPDK内部提供的一种无锁队列,本 ...
分类:
其他好文 时间:
2020-01-18 16:11:20
阅读次数:
76
队列 1. 队列的实现 ? 初步设想:列表 + 两个下标指针 ? 创建一个列表和两个变量,front变量指向队首,rear变量指向队尾。初始时,front和rear都为0 ? 进队操作:元素写到li[rear]位置,rear自增1 ? 出队操作:返回li[front]的元素,front自减1 ...
分类:
编程语言 时间:
2020-01-13 09:15:51
阅读次数:
81
代码: public class Djkstra { /* 单源最短路径 时间复杂度 O(ElogV) ,主要取决于优先队列的实现 空间复杂度 O(V) djkstr 和普通的 广度优先非常相似,唯一多考虑了一点:边有不同的权重(不再一直是1了) 基于普通广度优先思想,到达某个顶点的最短距离 = 到 ...
分类:
其他好文 时间:
2019-12-14 22:39:15
阅读次数:
132
一、学习大纲 队列的定义、分类、基本方法 队列的实现代码 队列的底层实现(数组、链表) 队列的的分类:顺序队列、循环队列 二、队列 1. 队列的定义:先进者先出的一种 操作受限的线性表数据结构 ,它包含 入队enqueue()和dequeue() 两个基本的操作; 作为一种非常基础的数据结构,队列的 ...
分类:
编程语言 时间:
2019-12-01 16:37:49
阅读次数:
89
阻塞队列的实现前面已经讲解完毕,今天我们继续了解源码中非阻塞队列的实现,接下来就看一看ConcurrentLinkedQueue非阻塞队列是怎么完成操作的 ...
分类:
其他好文 时间:
2019-11-09 19:36:37
阅读次数:
99
概述 Redis实现消息队列有两种形式: Redis消息队列时,当Redis宕机后,消息可能会丢失(也要看持久化的策略)。如果收消息方未有重发和验证机制,Redis内的数据会出现丢失。所以,使用Redis的作为消息队列,通常是对于消息的准确性并非特别高的场景。 原理 ...
分类:
其他好文 时间:
2019-10-25 20:44:03
阅读次数:
89
消息队列 在前一篇文章中 "【TencentOS tiny学习】源码分析(3)——队列" 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息队列的实现。 其实消息队列是TencentOS tiny的一个 基础组件 ...
分类:
其他好文 时间:
2019-10-16 23:07:30
阅读次数:
111
什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?java.util.concurrent.BlockingQueue的特性是:当队列是空的时,从队列中获取或删除元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。阻塞队列不接受空值,当你尝试向队列中添加空值的时候,它会抛出NullPointerException。阻塞队列的实现都是线程安全的,所有的查询方法都是原子的并
分类:
其他好文 时间:
2019-10-15 10:06:45
阅读次数:
96