复习单向,双向链表,并且实现两种链表的增加和删除功能。

单链表头插

Linklist insert_head(datatype element,Linklist head)
{//创建新节点
Linklist s=create_node();if(NULL==s)return head;
s->data=element;//1,判断链表为空if(NULL==head){head=s;}else //链表不为空{s->next=head;head=s;}return head;
}

单链表尾插

Linklist insert_rear(datatype element,Linklist head)
{
//创建新节点sLinklist s=create_node();if(NULL==s)return head;s->data=element;//1,判断链表为空if(NULL ==head){head=s;}else //链表不为空{//1,循环到最后一个节点Linklist p=head;while(p->next!=NULL){p=p->next;}//2,在p后面插入sp->next=s;}return head;}

单链表头删

Linklist delete_head(Linklist head)
{//1,判断链表为空if(NULL==head){return head;}else //链表存在1个或多个节点{Linklist del=head;head=head->next;free(del);del=NULL;}return head;
}

 单链表尾删

Linklist delete_rear(Linklist head)
{//1,判断链表为空if(NULL ==head)return head;//2,判断链表只有一个节点if(NULL ==head->next){free(head);head=NULL;}else //存在多个节点>=2{//3.找到倒数第2个节点Linklist del=head;while(del->next->next!=NULL){del=del->next;}//4.删除del->nextfree(del->next);del->next=NULL;}return head;
}

双向链表节点头插

Doublelink double_insert_head(datatype element,Doublelink head)
{//创建新节点sDoublelink s=create_node();if(s==NULL)return head;strcpy(s->data,element);//1.判断链表为空if(NULL ==head)head=s;//2.存在多个节点>=1else{s->next=head;head->priv=s;head=s;}return head;
}

双向链表节点尾插

Doublelink doublelink_insert_rear(datatype element,Doublelink head)
{//创建新节点sDoublelink s=create_node();if(s==NULL)return head;strcpy(s->data,element);//1,没有节点if(NULL ==head)head=s;else{//找到最后一个节点Doublelink p=head;while(p->next!=NULL){p=p->next;}//插入sp->next=s;s->priv=p;}return head;}

双向链表节点头删

Doublelink delete_head(Doublelink head)
{//1,判断链表为空if(NULL==head)return head;//2,存在多个节点Doublelink q=head;head=head->next;if(head!=NULL)head->priv=NULL;free(q);q=NULL;return head;
}

双向链表节点尾删

Doublelink delete_rear(Doublelink head)
{//1,判断链表为空if(NULL ==head)return head;//2,只有一个节点if(head->next==NULL){free(head);head=NULL;}else //>=2{//找到最后一个节点Doublelink p=head;while(p->next!=NULL){p=p->next;}p->priv->next=NULL;free(p);p=NULL;}return head;
}

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

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

相关文章

汽车信息安全--SHE中的密钥管理(一)

目录 1.HTA基本概述 2.SHE架构及密钥管理 2.1 分清SHE和EVTIA HSM 2.2 SHE架构 3.

linker list

linker list是利用lds 描述符实现同类型数据连续排布的一种机制。 下面是uboot里面的应用说明 lds文件里面需要增加section描述: . ALIGN(4);.u_boot_list : {KEEP(*(SORT(.u_boot_list*)));}linker_list.h: /* SPDX-License-Identifier: GPL-2.0 */ /** include…

二分图,匹配(学习笔记)

染色法判断二分图(二部图) 染色法判定二部图基本思想: 1、任意选择一个节点,将其染成红色 2、循环操作:将红色节点的邻居染成蓝色,将蓝色节点的邻居染成红色 3、若过程中发现任意一节点与其邻居的颜色相同…

Golang-Map有序输出——使用orderedmap库实现

前言 工作中遇到一个问题:需要导出一个MySQL表格,表格内容由sql查询得来。但现在发现,所导出的表格中,各列的顺序不确定。多次导出, 每一次的序列顺序也是不定的。 因此确定是后端,Map使用相关导致的问题。…

HarmonyOS 鸿蒙应用开发(九、还是蓝海,如何贡献第三方库)

快来共享第三方库吧,不但可以通过分享自己的成果,可以获得来自全球开发者的技术反馈和建议,提升自身技术能力,还有助于提高个人或团队在开源社区中的知名度和影响力。在流量时代和粉丝经济时代,获得曝光度和流量密码。…

全球首款轻量化图形引擎强势来袭!!!!

AMRT 3D 数字孪生引擎 提供强大完整的工具链 AMRT3D包含开发引擎、资源管理、场景编辑、UI搭建、项目预览和发布等项目开发所需的全套功能,并整合了动画路径、精准测量、动态天气、视角切换和动画特效等工具。 轻量化技术应用与个性化定制 AMRT3D适用于快速开发…

【SQL高频基础】1141.查询近30天活跃用户数

题目: 表:Activity ------------------------ | Column Name | Type | ------------------------ | user_id | int | | session_id | int | | activity_date | date | | activity_type | enum | ------------------------…

(已解决)vueQQ邮箱注册发送验证码前端设计,如何发送验证码设计倒计时

我们之前已经通过前端测试成功完成qq邮箱动态验证码发送&#xff08;未使用redis&#xff0c;我准备自己了解完后&#xff0c;后期有时间补上&#xff09; 衔接文章&#xff1a; 1&#xff1a; spingboot 后端发送QQ邮箱验证码 2&#xff1a; 这段代码建设图形化界面 <di…

CentOS7搭建k8s-v1.28.6集群详情

文章目录 1.灌装集群节点操作系统1.1 设置hosts1.2 设置nameserver1.3 关闭防火墙1.4 关闭Selinux1.5 关闭Swap分区1.6 时间同步1.7 调整内核参数1.8 系统内核升级 2.安装Docker2.1 卸载旧Docker2.2 配置Docker软件源2.3 安装Docker 3.部署Kubernets集群3.1 设置 K8s 软件源3.2…

LINUX设置时间

先察看支持什么格式 此处h是故意报错用的。 $ date -h date: invalid option -- h BusyBox v1.31.1 (2023-04-25 18:55:34 PDT) multi-call binary.Usage: date [OPTIONS] [FMT] [TIME]Display time (using FMT), or set time[-s,--set] TIME Set time to TIME-u,--utc …

2024.1.26力扣每日一题——边权重均等查询

2024.1.26 题目来源我的题解方法一 使用dfs对每一组查询都求最近公共祖先&#xff08;会超时&#xff0c;通不过&#xff09;方法二 不需要构建图&#xff0c;直接在原始数组上进行求最大公共祖先的操作。 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2846 我的题解 …

Python绘制随机游走图

Python绘制随机游走图 文章目录 Python绘制随机游走图随机游走图随机游走图的意义Python实现随机游走图Python随机游走图案例random_walk.pymain.py运行结果图结果一结果二结果三结果四结果五 总结 随机游走图 随机游走图通常指的是一种图论中的模型&#xff0c;其中节点在图中…

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践 1.GRU简介 GRU(Gate Recurrent Unit)门控循环单元,是[循环神经网络](RNN)的变种种,与 LSTM 类似通过门控单元解决 RNN 中不能长期记忆和反向传播中的梯度等问题。与 LSTM 相…

Linux前后端程序部署

1.总述 首先安装包类型分为 二进制发布包安装:找到对应自己的linux平台版本(CentOS还是redhat等),的具体压缩文件,解压修改配置 源码编译安装:需要自己进行编译 对于redhat安装包,可以使用rpm命令进行安装,但是rpm命令安装不能够解决依赖库的问题,常用的rpm命令,只用于卸载…

华为视频监控接入到视频监控平台 (华为网路监控摄像机IPC和华为视频节点设备VCN)

目 录 一、设备介绍 1.1 华为VCN介绍 1.2 AS-V1000视频监控平台介绍 1.3 平台服务器配置说明 二、安装、配置HW_IVS软件 2.1下载安装HW_IVS软件 2.2登录HW_IVS 2.3共享到外域 三、配置华为外域参数 3.1 PCG模块设置 3.2通信协议GBT28181配置 3.3传…

netty-websocket扩展协议及token鉴权补充

文章源码&#xff1a;gitee 源码部分可以看上一篇文章中的源码分析netty-websocket 鉴权token及统一请求和响应头&#xff08;鉴权控制器&#xff09; 最近刚好没事&#xff0c;看到有朋友说自定义协议好搞&#xff0c;我就想了想&#xff0c;发现上面那种方式实现确实麻烦&…

django解决Table ‘xx‘ already exists的方法

1&#xff0c;首先看已存在的这个库表结构是什么样的&#xff0c;先让对应的model.py恢复到和他一样的字段 2&#xff0c;删除对应app下的migrations目录里面除__init__.py文件的其他所有文件 3&#xff0c;回到manage.py所在目录执行python manage.py makemigrations 4&#x…

远程桌面使用Pr剪视频

要远程访问高性能计算机并使用 Pr&#xff08;Adobe Premiere Pro&#xff09;进行视频编辑&#xff0c;您可以考虑使用流畅且响应迅速的远程桌面软件。您可以考虑以下选项。 Splashtop Business Access Performance Splashtop 以其高性能远程桌面解决方案而闻名&#xff0c;…

Sping常见注解使用方法----持续更新中20240116

持续更新中~可以关注哦 底下也有博主碰到这些问题的项目具体操作时的原文。 目录 Data&#xff1a; requestbody ExceptionHandler ResponseBody WebFilter(filterName "loginCheckFilter",urlPatterns "/*") Data&#xff1a; 通用返回结果,服…

HarmonyOS远程真机调试方法

生成密钥库文件 打开DevEco Studio&#xff0c;点击菜单栏上的build&#xff0c; 填一些信息点击&#xff0c;没有key的话点击new一个新的key。 生成profile文件 AppGallery Connect (huawei.com) 进入该链接网站&#xff0c;点击用户与访问将刚生成的csr证书提交上去其中需…