22 22
3年前
【数据结构之链表】看完这篇文章我终于搞懂链表了
一览:本文从零介绍链式存储结构的线性表——单链表。包括以下内容:什么是链式存储存储结构?单链表的结构辨析头结点、头指针等易混淆概念基本的增删改查操作(不带头结点和带头结点)单链表与顺序表的对比线性表的链式存储结构在一文中我们介绍了一种“用曲线连接”的线性表,“曲线”是一种形象化的语言,实际上并不会存在所谓“曲线”的这种东西。所谓“曲线连
Wesley13 Wesley13
2年前
java容器之HashMap
HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。解决哈希冲突的三个方法:a.开放定址法  又被称为再散列法,包括线性探测再散列、二次探测再散列、伪随机探测再散列b.再哈希法  地址冲突后,对哈希结果再次进行哈希,直到
浪人 浪人
3年前
利用“哨兵”“实现双链表
下面的代码用一个”哨兵“实现双链表,感觉很简洁,中间也有点绕,暂时实现,供学习之用staticNodelist_handle{&list_handle,&list_handle,};booladdNode(Nodenode){if(nodeNULL){returnf
Wesley13 Wesley13
2年前
java基础 (二)之HashMap,HashTable,ConcurrentHashMap区别
HashTable:put方法加了同步锁synchronized,底层数组链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低。底层数组链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改
Wesley13 Wesley13
2年前
java 中链表的实现
//数据类 class DATA2{String key;String name;int age;}//定义链表类class CLType{DATA2 nodedatanew DATA2();CLType nextNodenull;//下
Stella981 Stella981
2年前
Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————结合三个部分工作
前面三篇文章分别介绍了视频捕获、h264视频压缩、帧缓冲显示的实现,现在将他们结合起来摄像头采集到的数据,需要交给视频压缩线程、显示线程使用,那么我采用的方法是使用队列及链表来实现:1.摄像头采集到数据后,分别放入两个处理线程队列中,并将相关信息放入链表中2.两个线程处理完成数据后,调用回调函数,从链表里找到对应的节点,然后释
Wesley13 Wesley13
2年前
Java数据结构和算法(四)
日常开发中,数组和集合使用的很多,而数组的无序插入和删除效率都是偏低的,这点在学习ArrayList源码的时候就知道了,因为需要把要插入索引后面的所以元素全部后移一位。而本文会详细讲解链表,可以解决数组的部分问题,相比数组的大小不可更改,链表更加灵活,在学习LinkedList源码对链表有了一个大致的了解。ArrayList和Linked
Wesley13 Wesley13
2年前
Java实现单链表反转操作
单链表是一种常见的数据结构,由一个个节点通过指针方式连接而成,每个节点由两部分组成:一是数据域,用于存储节点数据。二是指针域,用于存储下一个节点的地址。在Java中定义如下:publicclassNode{privateObjectdata;//数据域privateNodenext;//指针域publicNo
Stella981 Stella981
2年前
LiteOS:盘点那些重要的数据结构
摘要:本文会给读者介绍下LiteOS源码中常用的几个数据结构,包括:双向循环链表LOS\_DL\_LIST,优先级队列PriorityQueue,排序链表SortLinkList等。在学习HuaweiLiteOS源代码的时候,常常会遇到一些数据结构的使用。如果没有掌握这它们的用法,阅读LiteOS源代码的时候会很费解、很吃力。本文会给读