【linux软件基础知识】链表数据结构

双向循环链表

在这里插入图片描述
新链表是用LIST_HEAD(list_name)宏创建的。如上图中的(b)空链表所示,它申明类型为 list head的变量name,该变量作为新链表头的占位符。LIST_HEAD(list_name)宏还初始化 list head数据结构的 prev和next 字段,让它们指向list_name 变量本身。代码如下

#define LIST_HEAD_INIT(name) { &(name), &(name) }#define LIST_HEAD(name) \struct list_head name = LIST_HEAD_INIT(name)

下面列出了常见的链表操作,结合上图中的(a)分析下面的操作:

list_add(n,p)
把 n指向的元素插入 P 所指向的特定元素之后 (为了把n插人在链表的开始, set p to the address of the list head.)
list_add_tail(n,p)
把 n 指向的元素插到 P 所指向的特定元素之前 (为了把n 插入在链表的尾部,set p to the address of the list head)
list_del(p)
删除 P 所指向的元素 ( 没有必要指定链表的第一个元素)
list_empty(p)
Checks if the list is empty.
list entry(p,t,m)
Retur

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0基础学习Elasticsearch-Quick start

文章目录 1 背景2 前言3 快速部署ES4 快速部署Kibana5 发送请求给ES5.1 打开Kibana控制台5.2 通过REST API发送请求5.3 通过curl发送请求5.4 添加数据5.4.1 添加单个document5.4.2 添加多个document 5.5 搜索数据5.5.1 搜索所有documents5.5.2 match查询 6 总结 1 背景 因电商项…

Facebook代理商Facebook三不限户、二不限户、BM户的区别

随着全球化的发展,人们之间的交流和交易越来越频繁,越来越多的人开始使用互联网来处理自己的事务。这其中,Facebook(脸书)作为全球最大的社交媒体平台之一,拥有海内外两种不同类型的账户——Facebook海外户…

【算法】模拟算法——外观数组(medium)

题解:模拟算法——外观数组(medium) 目录 1.题目2.题解3.参考代码4.总结 1.题目 题目链接:LINK 2.题解 首先应该理解题意: 就是开始给你一个字符串,然后你对其进行描述。 描述规则是:连续的数字为一组,…

一、大模型推理

https://github.com/hiyouga/LLaMA-Factory/blob/main/README_zh.md https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/README_zh.md 安装 v7.1 https://github.com/hiyouga/LLaMA-Factory/releases/tag/v0.7.1 git clone --depth 1 https://github.com/hiyoug…

docker 快速搭建django项目环境(DockerFile)文件基础搭建

首先需要搭建好docker环境,docker环境就不在这里叙述,如果想学在评论区留言小编后期更新由linux系统到docker的安装做一个详细的教程。 下面我们开始今天的重点: 1、第一步:我们在任意(linux)路径下创建Do…

Python Flask是什么:深入解析与实用指南

Python Flask是什么:深入解析与实用指南 在当今的Web开发领域中,Flask作为一个轻量级的Python Web框架,逐渐受到广大开发者的青睐。然而,对于许多初学者而言,Flask可能还是一个充满困惑和未知的领域。那么&#xff0c…

C++(11): set与multiset

目录 1. 简述 2. std::set 3. API (1)元素插入 (2)元素删除 (3)特定元素查找 (4)清空元素 (5)元素个数 (6)set能够容纳的最大…

Python中ignore用法的深度解析

Python中ignore用法的深度解析 在Python编程中,ignore这个词汇常常与多种功能关联,包括但不限于异常处理、文件读写时的忽略特定字符或行,以及正则表达式中的忽略大小写等。本文将深入剖析Python中ignore的各种用法,旨在帮助读者…

【设计模式深度剖析】【B】【结构型】【对比】| 主要区别包装的不同

👈️上一篇:享元模式 回 顾:结构型设计模式 1.代理模式👈️ 2.装饰器模式👈️ 3.适配器模式👈️ 4.组合模式👈️ 5.桥接模式👈️ 6.外观模式👈️ 7.享元模式&#x…

jmeter性能测试用例提取

性能测试用例提取参考(根据单、混合场景、模块、运行时间、优先级)去考虑 Tips:用例提取和用例设计不一样 后期可以结合性能测试用例设计(设置线程数、时间、循环、同步定时器等等)来做性能测试

Python 字符串的修剪、拆分与合并

一、字符串的修剪 在Python中,字符串的修剪(去除字符串两端的空格或特定字符)可以通过以下方法实现: 1、strip(): strip() 方法用于去除字符串两端的空格或指定字符(默认为空格)。例: s &qu…

使用Go和Node.js构建用静态脚本进行数据解析的TCP服务器

在本文中,我们将介绍如何使用Go编程语言构建一个TCP服务器,该服务器接收客户端发送的数据,使用Node.js脚本处理数据,然后将处理后的数据返回给客户端。 程序概述 该程序包含以下主要部分: processWithJS函数,用于调…

浏览器/html页面渲染过程

html 页面渲染过程: 1. 浏览器获取到 html 资源后开始解析 html ( dom tree ) --> 构建 dom 树 2. 解析到 css 后根据 css 生成 css 规则树 ( style rules )--> 产生 css 规则树 3. dom 和 css 规则树生成完成 4. 通过 dom 树和 css 规则树生成渲染树 ( render t…

K210视觉识别模块学习笔记4: 训练与使用自己的模型_识别字母

今日开始学习K210视觉识别模块: 模型训练与使用_识别字母 亚博智能的K210视觉识别模块...... 固件库: maixpy_v0.6.2_52_gb1a1c5c5d_minimum_with_ide_support.bin 文章提供测试代码讲解、完整代码贴出、测试效果图、测试工程下载 这里也算是正式开始进入到视觉识别的领域了…

动态库(DLL)和静态库(LIB)的区别

链接时间: 静态库(LIB)在编译链接时整合到程序中。动态库(DLL)在程序运行时动态加载。 内存共享: 静态库导致每个程序副本都包含库代码。动态库允许多个程序共享同一份代码。 更新维护: DLL更新…

通信网优:薪资从3k-20k究竟要多久?

随着华为中标结果的不断公布,通信网优行业有了新变化。各大通信公司关于今年的网优业务市场份额也陆续公布,从目前的中标结果来看 杭州东信网络技术有限公司和南京嘉环科技股份有限公司并列排名第一,信科通信科技有限公司排名第三。而北京电旗…

ABP框架+Mysql(三)

创建,更新和删除图书 创建新书籍 创建 modal form 在 Acme.BookStore.Web 项目的 Pages/Books 目录下新建一个 CreateModal.cshtml Razor页面: CreateModal.cshtml.cs 打开 CreateModal.cshtml.cs 代码文件(CreateModalModel 类),替换成以下代码: using System.Threading.…

使用多种云进行OSS存储,详细教程

文章目录 这边文章是交大家进行多种云的存储,市场上主流的云存储,腾讯云,华为云,由于阿里云腾讯云 这边文章是交大家进行多种云的存储,市场上主流的云存储,腾讯云,华为云,由于 阿里云 阿里云本人以及出了详细的教程,这里就不讲解了,可以直接查看链接 阿里云实现思路: link 腾…

Html大前端与前端的区别:深度解析与实用指南

Html大前端与前端的区别:深度解析与实用指南 在谈论Html大前端与前端之间的区别时,我们首先需要理解这两者各自的定义和涵盖的范围。在软件开发的广阔领域中,前端与Html大前端各自扮演着不同的角色,并且随着技术的不断演进&#…

C/C++|回调函数的正确打开方式

最近在学习muduo库,其中的回调给我弄得晕头转向,后来才发现主要是回调函数的使用逻辑还没摸清楚,所以这里用一个简单的案例,来探究他们都是如何使用回调函数的。 一般回调函数都是用在类中: 我们将创建一个 EventHan…