双向链表的知识点+例题

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 pos
	newnode->next = pos;
	pos->prev = newnode;
	newnode->prev = posprev;
	posprev->next = newnode;
}

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

让我们画个图就理解了

11销毁双向链表 

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CRM系统怎么选 企业CRM系统选型需要注意什么

如何为企业挑选CRM系统,随着市场经济的发展,越来越多的CRM系统出现,功能也是越来越强大,但是,其实很多人对CRM系统了解的并不多,不知道应该如何选择CRM系统,今天白码小编就来介绍一下CRM系统选型…

什么是日志分析?为什么IT管理员需要日志分析?

在现在大数据时代,大量的数据被生成和记录,无论是企业还是个人,都在不断产生各种日志。日志记录了系统、应用程序、网络等多个领域的活动和事件信息,它们对于解决问题、监控和优化系统、还原事件等都非常重要。而这些海量的日志数…

近期局势较多变化 适合黄金代理入场吗?

进入本年的四季度后,中东局势出现了比较大的变化。首先,巴以冲突不断的加剧,而且马来西亚的林吉特出现大幅贬值,甚至有市场论调认为,亚洲金融危机可能会重新点燃。从这个角度来说,整体的市场环境是很动荡的…

PP-YOLOE: An evolved version of YOLO(2022.12)

文章目录 Abstract1. Introduction2. Method2.1. A Brief Review of PP-YOLOv22.2. Improvement of PP-YOLOEAnchor-freeBackbone and NeckTask Alignment Learning (TAL)Efficient Task-aligned Head (ET-head) 3.Experiment4. Conclusion 原文链接 源代码 Abstract 在本报告…

基于plc的柔性制造系统供料检测单元的设计(论文+源码)

1.系统设计 本次基于plc的柔性制造系统供料检测单元的设计,其系统结构框图如图2.1所示,系统采用西门子S7-200 型号的PLC作为主控制器,并结合温度传感器,重量传感器,限位开关,变频器等器件来构成整个系统&a…

Android Proguard混淆

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、语法规则3.1 输入/输出选项3.2 保留选项3.3 缩…

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

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

Win10远程连接服务器失败,报错:出现了内部错误

背景:本地windows10专业版电脑远程Windows虚拟机报错,但实际检查控制台发现,虚拟机状态正常,只是本地远程连接莫名其妙断开,并报错出现了内部错误: 原因:win10客户端RDP兼容性的问题 解决方法&…

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

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

pdb restore in ADG database

Effect of PITR on Dataguard Environment (Standby MRP Crashed with ORA-39873) (Doc ID 1591492.1)​编辑To Bottom In this Document Symptoms Cause Solution APPLIES TO: Oracle Database Cloud Exadata Service - Version N/A and later Oracle Database Cloud Servic…

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

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

AI创新下的生成式人工智能——Amazon Bedrock

目录 什么时生成式人工智能 亚马逊云的生成式 AI产品 Amazon Bedrock VS Amazon SageMake Amazon Bedrock的由来 Amazon Bedrock 的申请与使用 Amazon Bedrock 的使用案例 什么时生成式人工智能 生成式人工智能(Generative Artificial Intelligence&#xff0…

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

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

element-china-area-data使用问题

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

C/C++轻量级并发TCP服务器框架Zinx-框架开发003:转大写字母输出+责任链模式+代码重构思路及实现

文章目录 1 添加转大写字母输出功能2 责任链模式2.1 责任链的设计2.2 责任链的实现2.3 责任链的测试 3 代码重构3.1 类图设计3.2 重构设计 - 头文件3.3 重构实现 1 添加转大写字母输出功能 功能流程: stdin通道类中包含一个功能处理类对象功能处理类中包含一个stdo…

卡码网语言基础课 | 12. 位置互换

通过本次练习,将要学习到以下C知识点: 位置互换交换变量字符串 题目:给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。 奇偶位互换是指字符串的奇数位和偶数位相互交换位置 即:第一位和第二位交换&…

拷贝文件到u盘提示文件过大

在u盘空间足够的情况下,如果提示这个,可以手动修改一下ntfs格式 点击 WinR 键, 输入cmd回车 使用convert f:/fs:ntfs命令,此处的f为盘符,根据u盘所在的盘符设置。 如果u盘有隐藏的文件在自动运行,可能导致…

设计模式篇---装饰模式

文章目录 概念结构实例总结 概念 装饰模式:动态的给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了 一种比使用子类更加灵活的替代方案。 装饰模式是一种对象结构型模式,它以对客户透明的方式动态地给一个对象附加上更多的责任…

2023-11-17 VsCode使用makefile进行多文件编译

点击 <C 语言编程核心突破> 快速C语言入门 VsCode使用makefile进行多文件编译 前言一、一个简单的多文件示例二、makefile基本语法三、VsCode使用makefile总结 前言 要解决问题: C或C可以多文件编译, 意味着需要进行代码组织, 为了方便多文件编译, gnu开发了make工具, …

使用键盘管理器更改键盘快捷键,让键盘真正迎合你的使用习惯

如果默认快捷键不适合你&#xff0c;你肯定会想知道如何在Windows 11中更改键盘快捷键。 也许你已经习惯了macOS键盘&#xff0c;或者像我一样在Windows和Mac之间切换工作/游戏——如果是这样的话&#xff0c;重新配置默认的Windows快捷方式&#xff0c;使其与Mac上的快捷方式…