双向链表的知识点+例题

1.链表的种类

题中常考查以下两种:

 上一讲我们学了无头单向非循环链表,这节,让我们看一下双向链表的操作吧~

2基本操作

1,定义双向链表

 2,创建一个节点

3,初始化双链表 

 4,尾插一个节点

 5打印双向链表

 

6尾删法

 当然,在这个代码中,我们要考虑如果只有head的唯一一个节点,那我们可以检查一下,如果head->next==head,则就不尾删

代码实现:

7头插法

8 头删

void LTPopFront(LTNode* phead)
{assert(phead);assert(phead->next != head);LTNode* first = phead->next;LTNode* second = phead->next->next;phead->next = second;second->prev = phead;free(first);first = NULL;
}

9找到某个元素

10在pos位置前面插入 

void LTInsert(LTNode* pos, LTDataType x)
{assert(pos);LTNode* posprev = pos->prev;LTNode* newnode = CreateLTNode(x);//posprev  newnode posnewnode->next = pos;pos->prev = newnode;newnode->prev = posprev;posprev->next = newnode;
}

 在这个代码中,如果pos是哨兵位,那么此代码相当于尾插

让我们画个图就理解了

11销毁双向链表 

 以上就是双向链表的知识点啦~

我们学完了顺序表和链表,为了方便学习,我们来比较一下两种表吧~

好啦~我们的知识分享就到这里了~ 

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

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

相关文章

全球温度数据下载

1.全球年平均温度下载https://www.ncei.noaa.gov/data/global-summary-of-the-year/archive/ 2.全球月平均气温下载https://www.ncei.noaa.gov/data/global-summary-of-the-month/archive/ 3.全球日平均气温下载https://www.ncei.noaa.gov/data/global-summary-of-the-day/ar…

一、认识STM32

目录 一、初识STM32 1.1 STM32的命名规则介绍 1.2 STM32F103ZET6资源配置介绍 二、如何识别芯片管脚 2.1 如何寻找 IO 的功能说明 三、构成最小系统的要素 一、初识STM32 1.1 STM32的命名规则介绍 以 STM32F103ZET6 来讲解下 STM32 的命名方法: &…

.Net8 Blazor 尝鲜

全栈 Web UI 随着 .NET 8 的发布,Blazor 已成为全堆栈 Web UI 框架,可用于开发在组件或页面级别呈现内容的应用,其中包含: 用于生成静态 HTML 的静态服务器呈现。使用 Blazor Server 托管模型的交互式服务器呈现。使用 Blazor W…

忆联消费级SSD AH660:将用户体验推向新高度

自1989年IBM推出世界上第一款固态硬盘(SSD)以来,SSD在三十多年的时间中历经了多次技术革新和市场变革,早已成为个人电脑、汽车电子、数据中心、物联网终端等领域的主流存储产品,并广泛应用于各行各业,在202…

node 第十八天 中间件express-session实现会话密钥

express-session 文档 express-session 一个简单的express会话中间件 使用场景 在一个系统中, 需要维持一个临时的与登录态无关的会话密钥 比如登录系统后, 请求某一个接口, 接口的行为与登录态无关, 也就是说任何人对接口的访问…

【JAVA-排列组合】一个套路速解排列组合题

说明 在初遇排列组合题目时,总让人摸不着头脑,但是做多了题目后,发现几乎能用同一个模板做完所有这种类型的题目,大大提高了解题效率。本文简要介绍这种方法。 题目列表 所有题目均从leetcode查找,便于在线验证 46.…

C语言判断素数(ZZULIOJ1057:素数判定)

题目描述 输入一个正整数n&#xff0c;判断n是否是素数&#xff0c;若n是素数&#xff0c;输出”Yes”,否则输出”No”。 注意&#xff1a;1不是素数。 输入&#xff1a;输入一个正整数n(n<1000) 输出&#xff1a;如果n是素数输出"Yes"&#xff0c;否则输出"…

spark性能调优 | 默认并行度

Spark Sql默认并行度 看官网&#xff0c;默认并行度200 https://spark.apache.org/docs/2.4.5/sql-performance-tuning.html#other-configuration-options 优化 在数仓中 task最好是cpu的两倍或者3倍(最好是倍数&#xff0c;不要使基数) 拓展 在本地 task需要自己设置&a…

如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?

如何使用Matplotlib模块的text函数给柱形图添加美丽的标签数据&#xff1f; 1 简单引入2 关于text()函数2.1 Matplotlib安装2.2 text()引入2.3 text()源码2.4 text()参数说明2.5 text()两个简单示例 3 柱形图绘制并添加标签3.1 目标数据3.2 读取excel数据3.3 设置窗口大小和xy轴…

如何提升软件测试效率?本文为你揭示秘密

在软件开发中&#xff0c;测试是至关重要的一个环节。它能帮助我们发现并修复问题&#xff0c;从而确保我们提供的软件具有高质量。然而&#xff0c;测试过程往往费时费力。那么&#xff0c;有没有方法可以提升我们的软件测试效率呢&#xff1f;答案是肯定的。下面&#xff0c;…

骨传导耳机品牌排名前十,盘点最受欢迎的五款TOP级骨传导耳机

骨传导耳机品牌排名前十&#xff0c;最受欢迎的五款TOP级骨传导耳机是什么&#xff1f; 耳机市场上有很多品牌和型号的骨传导耳机&#xff0c;每个人对耳机的需求和使用场景也不尽相同。因此&#xff0c;在选择耳机时&#xff0c;确实不能盲目跟风或者仅仅看重品牌。为了帮助大…

spring cloud之配置中心

Config 统一配置中心(*) 1.简介 # 统一配置中心 - 官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.2.3.RELEASE/reference/html/#_spring_cloud_config_server- config 分为 config server 和 config client。用来统一管理所有微服务的配置统一配置…

ChatGPT 从零到一打造私人智能英语学习助手

近几年&#xff0c;随着智能化技术的发展和人工智能的兴起&#xff0c;越来越多的应用程序开始涌现出来。在这些应用中&#xff0c;语音识别、自然语言处理以及机器翻译等技术都得到了广泛的应用。其中&#xff0c;聊天机器人成为了最受欢迎的人工智能应用之一&#xff0c;它们…

element-china-area-data使用问题

使用CodeToText报错&#xff0c;下载的时候默认下载最新版本的&#xff0c; 稳定版本5.0.2版本才可以 npm install element-china-area-data5.0.2 -S

日志存档及解析

网络中的每个设备都会生成大量日志数据&#xff0c;日志数据包含有关网络中发生的所有活动的关键信息&#xff0c;存储所有这些数据并对其进行管理对组织来说是一项挑战&#xff0c;因此&#xff0c;这些日志文件被压缩并存储在效率较低的存储介质中&#xff0c;无法轻松检索。…

简单介绍二分类问题评价指标

正确率(Accuracy) Accuracy ​(TP TN)/(TP TN FP FN)精准率(Precision) 记忆&#xff1a;在识别出某标签中正确的比例&#xff1b; 比如识别为某标签的一共有105个&#xff0c;其中有95个是识别对的&#xff0c;那Precision就是95/105&#xff1b; TP/(TPFP)召回率(Recall…

浏览器插件在content_script和top窗口之间进行消息通信

为什么要进行消息通信&#xff1f; content_script和top窗口之间除了DOM共享之外&#xff0c;window对象是不共享的。如果content_script需要获得top窗口中window对象的数据&#xff0c;就需要使用到通信。反之&#xff0c;也是相同的情况。 1、自定义监听事件&#xff08;推荐…

【Kingbase FlySync】界面化管控平台:1.安装部署与用户创建

同步软件安装部署与用户创建 概述准备环境目标资源1.测试虚拟机下载地址包含node1,node22.KFS管控平台工具下载地址3.临时授权下载地址 实操&#xff1a;同步软件安装部署1.node1准备安装环境(1)增加flysync 用户并设置密码(2)调整flysync的最大文件句柄数&#xff08;open fil…

Django 配置 Email Admin 详细指南

概要 Django 是一个高级的 Python Web 框架&#xff0c;它鼓励快速开发和清洁、实用的设计。当你正在开发一个 Django 项目时&#xff0c;监控网站的运行情况是非常必要的。Django 提供了一个功能强大的 admin 界面&#xff0c;但同时也可以通过配置 email admin 来获取网站的…

十大热门骨传导蓝牙耳机排行榜,精选最佳的五款骨传导蓝牙耳机

排行榜十大热门骨传导耳机&#xff0c;哪些才是综合实力最强的骨传导耳机&#xff1f; 近年来&#xff0c;骨传导耳机越来越受欢迎。由于骨传导耳机不需要插入耳朵&#xff0c;用户能够同时感知周围环境的声音&#xff0c;不会完全隔绝外界&#xff0c;增加了使用时的安全性。…