数据结构课上笔记6

本节课介绍了单链表的操作实现细节,介绍了静态链表。

 

链表带头的作用:对链表进行操作时,可以对空表、非空表的情况以及 对首元结点进行统一处理,编程更方便。

下面给出带头的单链表实现思路:

 

按下标查找:

判断非法输入,当 1 < =i <= n 时,i 的值是合法的。

p = L -> next; j = 1;

while ( p && j < i ) {  p = p ->next; ++j; }

return 

 

按值查找:

 p = L1 -> next;

 while ( p && p ->data!=key)          p = p -> next;

return;

 

插入:

判断

查找

创建

插入

 

删除:

查找

删除

释放内存

 

静态链表

对于线性链表,也可用一维数组来进行描述。这种描述方法便于在没有指针类型的高级程序设计语言中使用链表结构。

这种存储结构,仍需要预先分配一个较大的空间,但在作为线性表的插入和删除操作时不需移动元素,仅需修改指针,故仍具有链式存储结构的主要优点。

 

表示:

#define MAXSIZE 1000      / /链表的最大长度

typedef  struct{      

    ElemType data;        

    int cur;

}component,  SLinkList[MAXSIZE];

 

过程:

 

 

 

 

 

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

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

相关文章

17校招真题题集(3)11-15

注&#xff1a;本系列题目全是按照通过率降序来排列的&#xff0c;基本保证题目难度递增。 11、 题目名称&#xff1a;买苹果 来源&#xff1a;网易 题目描述 小易去附近的商店买苹果&#xff0c;奸诈的商贩使用了捆绑交易&#xff0c;只提供6个每袋和8个每袋的包装(包装不…

QT5生成.exe文件时,出现缺少QT5core.dll文件解决方法

在 http://qt-project.org/downloads 下载Qt SDK安装需要Qt版本。在QtCreator下&#xff0c;程序可以正常运行&#xff0c;但是当关闭QtCreator后&#xff0c;在DeBug目录下再运行相应的*.exe程序时&#xff0c;会提示缺少Qt5Core.dll错误。解决方法&#xff1a;添加电脑环境变…

《基于Java实现的遗传算法》笔记(7 / 7):个人总结

文章目录为何采用遗传算法哪些问题适合用遗传算法解决遗传算法基本术语一般遗传算法的过程基本遗传算法的伪代码为何采用遗传算法 遗传算法是机器学习的子集。在实践中&#xff0c;遗传算法通常不是用来解决单一的、特定问题的最好算法。对任何一个问题&#xff0c;几乎总有更…

Java设计模式(4 / 23):单例模式

文章目录单例模式的应用场景饿汉式单例模式懒汉式单例模式改进&#xff1a;synchronized改进&#xff1a;双重检查锁改进&#xff1a;静态内部类破坏单例用反射破坏单例用序列化破坏单例解密注册式单例模式枚举式单例模式解密容器式单例线程单例实现ThreadLocal单例模式小结参考…

约瑟夫环-(数组、循环链表、数学)

约瑟夫环&#xff08;约瑟夫问题&#xff09;是一个数学的应用问题&#xff1a;已知n个人&#xff08;以编号1&#xff0c;2&#xff0c;3...n分别表示&#xff09;围坐在一张圆桌周围。从编号为k的人开始报数&#xff0c;数到m的那个人出列&#xff1b;他的下一个人又从1开始报…

链表相交问题

本来想自己写&#xff0c;写了一半发现一篇文章&#xff0c;解释写得简单易懂&#xff0c;我就直接拿过来了。 这个问题值得反复地写&#xff0c;锻炼链表coding能力的好题。 //如果两个链表都不带环 int NotCycleCheckCross(pLinkNode head1,pLinkNode head2) {pLinkNode lis…

双栈

利用栈底位置相对不变的特性&#xff0c;可以让两个顺序栈共享一个空间。 具体实现方法大概有两种&#xff1a; 一种是奇偶栈&#xff0c;就是所有下标为奇数的是一个栈&#xff0c;偶数是另一个栈。但是这样一个栈的最大存储就确定了&#xff0c;并没有起到互补空缺的作用&a…

单调队列优化的背包问题

对于背包问题&#xff0c;经典的背包九讲已经讲的很明白了&#xff0c;本来就不打算写这方面问题了。 但是吧。 我发现&#xff0c;那个最出名的九讲竟然没写队列优化的背包。。。。 那我必须写一下咯嘿嘿&#xff0c;这么好的思想。 我们回顾一下背包问题吧。 01背包问题 …

用Python去除扫描型PDF中的水印

内容概述 含水印扫描型PDF文件&#xff0c;其中某页如下图所示&#xff0c;用Python去除其页顶及页底的水印。 处理思路&#xff1a;PDF中的每一页的水印的相对位置基本相同&#xff0c;将PDF每一页输出成图片&#xff0c;然后进行图片编辑&#xff0c;用白色填充方形覆盖水印…

二阶有源滤波器

滤波器是一种使用信号通过而同时抑制无用频率信号的电子装置, 在信息处理、数据传送和抑制干扰等自动控制、通信及其它电子系统中应用广泛。滤波一般可分为有源滤波和无源滤波, 有源滤波可以使幅频特性比较陡峭, 而无源滤波设计简单易行, 但幅频特性不如滤波器, 而且体积较大。…

用JS写了一个30分钟倒计时器

效果图 额外功能 左键单击计时器数字区&#xff0c;不显示或显示秒钟区。左键双击计时器数字区&#xff0c;暂停或启动计时器。计时完毕&#xff0c;只能刷新页面启动计时器。输入框可输入备注信息&#xff0c;输入框失去焦点或计时完毕后&#xff0c;时间戳附带备注信息会存入…

为什么高手离不了Linux系统?我想这就是理由!

通过本文来记录下我在Linux系统的学习经历&#xff0c;聊聊我为什么离不了Linux系统&#xff0c;同时也为那些想要尝试Linux而又有所顾忌的用户答疑解惑&#xff0c;下面将为你介绍我所喜欢的Linux系统&#xff0c;这里有一些你应该知道并为之自豪的事实。 这里你应该首先抛开W…

用JS写一个电影《黑客帝国》显示屏黑底绿字雨风格的唐诗欣赏器

效果图 放码过来 <!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html;charsetutf-8"/><title>Black Screen And Green Characters</title><style type"text/css">table…

元器件封装大全:图解+文字详述

先图解如下&#xff1a; 元器件封装类型&#xff1a; A.Axial  轴状的封装&#xff08;电阻的封装&#xff09;AGP &#xff08;Accelerate raphical Port&#xff09; 加速图形接口 AMR(Audio/MODEM Riser) 声音/调制解调器插卡BBGA&#xff08;Ball Grid Array&#xff09;…

用JS写一个丐版《2048》小游戏

效果图 放马过来 <!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html;charsetutf-8"/><title>2048</title><style type"text/css">.basic{height:80px;width:80px;back…

如何有效申请TI的免费样片

转自如何有效申请TI的免费样片 TI公司愿意为支持中国大学的师生们的教学、实验、创新实践、竞赛和科研项目&#xff0c;提供有限数量的免费样片。首先需要指出的是&#xff1a;所有的样片申请应该是诚实正当的&#xff0c;所有不恰当的申请&#xff08;包括不必要或多余的&…

用Python批量生成字幕图片用于视频剪辑

说明 视频剪辑时需要为视频添加字幕&#xff0c;添加字幕方法之一&#xff1a;根据字幕文本文件批量生成透明底只有字幕内容的图片文件&#xff0c;如下图&#xff0c;然后将这些图片文件添加到视频剪辑软件轨道中。 于是用pillow这Python图片工具库执行本次批量生成工作。 …

关于接地:数字地、模拟地、信号地、交流地、直流地、屏蔽地、浮

除了正确进行接地设计、安装,还要正确进行各种不同信号的接地处理。控制系统中&#xff0c;大致有以下几种地线&#xff1a; &#xff08;1&#xff09;数字地&#xff1a;也叫逻辑地&#xff0c;是各种开关量&#xff08;数字量&#xff09;信号的零电位。 &#xff08;2&…

AltiumDesigner中PCB如何添加 Logo

AltiumDesigner中PCB如何添加 Logo 转载2015-10-29 00:07:55标签&#xff1a;it文化教育首先用到的画图软件&#xff0c;当然是大家熟悉的Altium Designer了&#xff0c;呵呵&#xff0c;相信很多人都用过这款画图软件吧&#xff08;现在电路设计一直在用&#xff09;&#xff…

使用Ultra Librarian 生成PCB库文件

第一步&#xff1a;找到对应芯片的CAD文件&#xff0c;以OPA350为例&#xff1a; http://www.ti.com/product/opa350 第二步&#xff1a; 下载上图右边连接的 Ultra Librarian.zip &#xff0c; 然后根据提示&#xff0c;安装。 安装好后打开Ultra Librarian&#xff0c;会出现…