unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
PMyRec = ^MyRec;
MyRec = record
Name: string[8];
Age : Word;
Link: PMyRec;
end;
var
CurrentNode, FirstNode: PMyRec;
{建立链表}
procedure TForm1.FormCreate(Sender: TObject);
begin
New(FirstNode);
FirstNode.Name := '李四';
FirstNode.Age := 44;
FirstNode.Link := nil;
CurrentNode := FirstNode;
New(FirstNode);
FirstNode.Name := '张三';
FirstNode.Age := 33;
FirstNode.Link := CurrentNode;
CurrentNode := FirstNode;
New(FirstNode);
FirstNode.Name := '钱二';
FirstNode.Age := 22;
FirstNode.Link := CurrentNode;
CurrentNode := FirstNode;
New(FirstNode);
FirstNode.Name := '赵一';
FirstNode.Age := 11;
FirstNode.Link := CurrentNode;
CurrentNode := FirstNode;
Button1.Caption := '遍历链表';
Button2.Caption := '插入节点';
Button3.Caption := '删除节点';
Button4.Caption := '删除链表';
Memo1.Align := alLeft;
Memo1.ScrollBars := ssVertical;
end;
{遍历链表节点}
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
CurrentNode := FirstNode;
while Assigned(CurrentNode) do
begin
Memo1.Lines.Add(CurrentNode.Name + #9 + IntToStr(CurrentNode.Age));
CurrentNode := CurrentNode.Link;
end;
end;
{插入节点}
procedure TForm1.Button2Click(Sender: TObject);
var
NewNode: PMyRec;
begin
{譬如是插入在第二个节点后面}
CurrentNode := FirstNode.Link;
New(NewNode);
NewNode.Name := 'AAA';
NewNode.Age := 100;
{前后连起来}
NewNode.Link := CurrentNode.Link;
CurrentNode.Link := NewNode;
{调用遍历}
Button1.Click;
end;
{删除节点}
procedure TForm1.Button3Click(Sender: TObject);
begin
{譬如是删除第二个节点}
CurrentNode := FirstNode.Link; {让 CurrentNode 指向第二个节点}
if Assigned(CurrentNode.Link) then {如果 CurrentNode 还有下一个}
begin
FirstNode.Link := CurrentNode.Link; {不能断了链}
Dispose(CurrentNode); {释放用 New 申请的内存}
end;
Button1.Click;
end;
{销毁链表, 释放所有节点}
procedure TForm1.Button4Click(Sender: TObject);
begin
CurrentNode := FirstNode; {从链头向下删除}
while Assigned(FirstNode) do
begin
CurrentNode := FirstNode;
FirstNode := CurrentNode.Link;
Dispose(CurrentNode);
end;
Button1.Click;
end;
end.
相关推荐
保姆级教程:手把手带你复现APFNet论文的RGBT目标跟踪模型(附完整代码与数据集配置)
本文提供了一份详细的APFNet论文复现指南,涵盖从环境搭建到模型测试的全流程。通过解析多模态融合模块和渐进式训练流程,帮助读者高效完成RGBT目标跟踪模型的复现工作,特别针对训练和测试中的常见问题提供实用解决方案。
单向链表的删除方法
单向链表的删除操作,包括: 删除索引为index的结点 删除链表中第一个元素值为val的结点 删除链表中所有元素值为val的结点
用于多种无人机协作的群体智能算法:综合综述
随着无人机技术的快速高水平发展,将多架无人机作为自主控制的编队应用于复杂情况是一个新兴领域的代表之一。在实现自主控制的挑战中,碰撞避免、任务分配、路径规划和编队重构是关键功能。本文对各种经典的无人机群智能算法进行了系统的总结和分析。
单链表的插入删除(数据结构与算法)
单链表是一种常见的线性数据结构,由一个个节点组成,每个节点包含两个部分:数据部分和指针部分。单链表的特点是每个节点只能指向下一个节点,而最后一个节点指向一个空指针。这个空指针常用来表示链表的结尾,一般命名为 nullptr。
波动性GARCH模型与波动率预测(代码+结果分析)
本文介绍的ARCH、GARCH模型可以刻画出随时间变化的条件异方差。
交通流预测爬坑记(一):交通流数据集,原始数据
常用的交通流数据集,持续更新~~
c 语言单向链表的删除
单链表删除
基于逆向工程的中国裁判文书网爬虫技术深度解析:从反爬破解到合规抓取
最近承接了一个法律大数据分析的项目,需要获取某类合同纠纷的裁判文书数据,用于分析不同地区的判决规律、法官的裁判倾向以及法条适用情况。原本以为用常规的Python爬虫就能搞定,结果刚对着中国裁判文书网发了几个请求,就遭遇了“滑铁卢”:要么请求直接返回403 Forbidden,要么触发滑块验证码,甚至连IP都被临时封禁了。普通的requests+BeautifulSoup组合在裁判文书网面前完全失效,这也让我意识到,想要获取这里的数据,必须先通过逆向工程拆解网站的请求逻辑和反爬机制。经过一周的摸索,从抓包分析
笔试题之单向链表的三种删除方式
这样就删除了链表的最后一个结点;指定结点在链表中的位置,然后。,遍历单向链表,找到。
[Python人工智能] 三十六.基于Transformer的商品评论情感分析 (2)keras构建多头自注意力(Transformer)模型
本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章利用Keras构建深度学习模型并实现了情感分析。这篇文章将介绍Transformer基础知识,并通过Keras构建多头自注意力(Transformer)模型,实现IMDB电影影评数据情感分析。基础性文章,希望对您有所帮助!...
RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入
RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入,结合Developer实现
【数据结构】单链表的删除
单链表的删除
粒子群算法Particle Swarm Optimization超详细解析+代码实例讲解
粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法(Evolutionary Algorithm - EA)。
单向链表的添加、遍历、修改与删除java
举一个例子: 我们小时候玩儿的积木拼接,它是前凸后凹的,能进行很好的连接。 某一天晚上,爸爸买回来一盒积木,并且这些积木都是一样的,想要搭建好这些积木,我就需要进行拼接! package Demo7; import Demo6.SingleLinkedList; public class Demo { public static void main(String[] args) { //先添加数据,就相当于先要有积木,才能进行拼接!,这里有四个积木,也就是四个数据。
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
python如何遍历链表_python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】...
本文实例讲述了python单向链表的基本实现与使用方法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#! python3class Node():def __init__(self,item):#初始化这个节点,值和下一个指向self.item = itemself.next = Noneclass SingleLinklist():def __init__(sel...
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
python遍历链表_python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】...
本文实例讲述了python单向链表的基本实现与使用方法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#! python3class Node():def __init__(self,item):#初始化这个节点,值和下一个指向self.item = itemself.next = Noneclass SingleLinklist():def __init__(sel...
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
python链表怎么定义_python单向链表的基本实现与使用方法【定义、遍历、添加、删除、...
本文实例讲述了python单向链表的基本实现与使用方法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#! python3class Node():def __init__(self,item):#初始化这个节点,值和下一个指向self.item = itemself.next = Noneclass SingleLinklist():def __init__(sel...
《Delphi 算法与数据结构》学习与感悟[8]: 单向链表的添加、删除与遍历
本例效果图: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; ...
Java实现单向链表(基础功能实现)
单向链表(基本功能)1 实现目标2 功能及算法分析2.1 添加新节点2.2 插入新节点2.3 删除链表中节点2.4 链表遍历3 详细设计说明3.1 Node类的详细设计说明3.2 Link类的详细设计3.2.1 Link成员变量3.2.2 Link类方法3.3 代码实现4 链表的测试用例5 总结 1 实现目标 从数据结构的角度来说,链表中包含一个或多个节点的数据容器,这些个节点通过串联形成一个完整...
【数据结构与算法】单向链表与双向链表的增删改查(包括有序插入到链表)
单向链表 1、链表是以节点的方式来存储,是链式存储 2、每个节点包含data域,next域:指向下一个节点 3、链表的每个节点不一定是连续存储 4、链表分带头节点的链表和没有头节点链表,根据需求确定 1、遍历 通过一个辅助遍历,帮助遍历整个链表 2、添加(创建) (1)先创建一个head头节点,作用就是表示单链表的头 (2)后面每添加一个节点,就直接加入到链表的最后 添加有俩种形式,一种是直接...
数据结构与算法--单向链表
文章主要从介绍链表的概念出发,深入理解链表的实现原理,用Python语言实现单向链表!
链表之单向链表
在进行存储数据时,你请求计算机提供存储空间,计算机会给你一个存储地址。当有很多数据需要存储的时候,可以采用两种形式——数组和链表,那么这两种方式又有什么区别呢? (一) 数组与链表 假设大学教室的某排座椅11个,从左到右排号,0-10号,这类似内存空间,现在某宿舍6名女生来上自习,从0号开始入座,入座之后,他们都是连续的挨在一起的。假设现在某女同学的男朋友来了,非得和她坐在一起,那么这个女生之后其...
【数据结构与算法】双向链表
在了解过单向链表后,可以继续深入了解进阶的双向链表,其在单向链表的基础上多了一个指向前一节点的pre属性。
java 双向链表_程序员:Java数据结构与算法,单向链表与双向链表
前言高科技时代,程序员也要不断的进步,不能只停留在if else 的业务代码能力。除了要学习更先进的框架,更新的技术流,基础知识也不能落下,特别是数据结构和算法,许多程序员还是比较薄弱的。今天我们就来聊聊Java数据结构与算法,单身链表与双向链表什么是链表链表是以节点的方式来存储的,是链式存储每个节点包括date域:保存数据 和next域:指向下一个节点如图:发现链表的各个节点不一定是连续存放的链...
【Java数据结构与算法】双向链表
双向链表
343



被折叠的 条评论
为什么被折叠?



