原文:libmxml数据结构(源码分析)

libmxml是一个开源 小巧的C语言xml库。这里简单分析一下它是用什么样的数据结构来保存分析过的xml文档。 mxml关键的结构体mxml node t是这样的实现的: 它使用左孩子右兄弟的树形结构来描述xml报文:即下层节点登记在child链表,兄弟节点登记在next链表。 如果某个节点下面有N个子节点,则child指向第一个子节点,该子节点的next指向下一个同父节点的子节点。 比较特殊 ...

2019-04-05 20:08 0 531 推荐指数:

查看详情

ffplay源码分析2-数据结构

ffplay是FFmpeg工程自带的简单播放器,使用FFmpeg提供的解码器和SDL库进行视频播放。本文基于FFmpeg工程4.1版本进行分析,其中ffplay源码清单如下: https://github.com/FFmpeg/FFmpeg/blob/n4.1/fftools/ffplay.c ...

Tue Jan 22 05:55:00 CST 2019 0 2294
HashMap、ConcurrentHashMap数据结构、底层原理、源码分析

HashMap 数据结构 JDK1.7 HashMap由数组+链表组成,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。 JDK1.8 HashMap由数组+链表/红黑树组成,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索 ...

Sat Apr 11 23:59:00 CST 2020 0 596
Redis源码分析-底层数据结构盘点

前段时间翻看了Redis的源代码(C语言版本,Git地址:https://github.com/antirez/redis), 过了一遍Redis数据结构,包括SDS、ADList、dict、intset、ziplist、quicklist、skiplist。 在此进行总结 一、SDS ...

Wed May 15 22:55:00 CST 2019 0 1497
句柄与句柄表(数据结构源码分析

0x01 句柄,句柄表概念    任意进程,只要每打开一个对象,就会获得一个句柄,这个句柄用来标志对某个对象的一次打开,通过句柄,可以直接找到对应的内核对象。句柄本身是进程的句柄表中的一个结构体,用来描述一次打开操作。句柄值则可以简单看做句柄表中的索引,并不影响理解。HANDLE的值可以简单 ...

Tue Jan 23 01:05:00 CST 2018 0 1854
鸿蒙轻内核M核源码分析数据结构之任务就绪队列

摘要:本文会给读者介绍鸿蒙轻内核M核源码中重要的数据结构,任务基于优先级的就绪队列Priority Queue。 本文分享自华为云社区《鸿蒙轻内核M核源码分析系列三 数据结构-任务就绪队列》,原文作者:zhushy 。 本文会给读者介绍鸿蒙轻内核M核源码中重要的数据结构,任务基于优先级 ...

Tue May 18 22:44:00 CST 2021 0 203
Java ArrayList源码分析(有助于理解数据结构

arraylist源码分析 1.数组介绍 数组是数据结构中很基本的结构,很多编程语言都内置数组,类似于数据结构中的线性表 在java中当创建数组时会在内存中划分出一块连续的内存,然后当有数据进入的时候会将数据按顺序的存储在这块连续的内存中。当需要读取数组中的数据时,需要提供数组中的索引 ...

Fri Sep 13 06:05:00 CST 2019 2 389
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM