单向链表的添加、删除与遍历

FPGA实战:手把手教你实现VESA DSC编码(附Verilog代码解析) 本文详细介绍了如何使用FPGA实现VESA DSC编码器,包括核心架构设计、Verilog代码实现与优化技巧。通过流水线设计、色彩空间转换和预测编码等关键技术,帮助开发者掌握工业级DSC编码器的开发流程,并提供实用的调试与性能优化方法。 阅读详情

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.

《YOLOv8:从入门到实战》专栏介绍 & 专栏目录 本专栏涵盖了丰富的YOLOv8算法从入门到实战系列教程,专为学习YOLOv8的同学而设计,堪称全网最详细的教程!🌈🌈🌈 阅读详情

相关推荐

保姆级教程:手把手带你复现APFNet论文的RGBT目标跟踪模型(附完整代码与数据集配置)

本文提供了一份详细的APFNet论文复现指南,涵盖从环境搭建到模型测试的全流程。通过解析多模态融合模块和渐进式训练流程,帮助读者高效完成RGBT目标跟踪模型的复现工作,特别针对训练和测试中的常见问题提供实用解决方案。

weixin_29056781的博客 343

单向链表的删除方法

单向链表的删除操作,包括: 删除索引为index的结点 删除链表中第一个元素值为val的结点 删除链表中所有元素值为val的结点

m0_61925333的博客 2412

用于多种无人机协作的群体智能算法:综合综述

随着无人机技术的快速高水平发展,将多架无人机作为自主控制的编队应用于复杂情况是一个新兴领域的代表之一。在实现自主控制的挑战中,碰撞避免、任务分配、路径规划和编队重构是关键功能。本文对各种经典的无人机群智能算法进行了系统的总结和分析。

erjia_的博客 1万+

单链表的插入删除(数据结构与算法)

单链表是一种常见的线性数据结构,由一个个节点组成,每个节点包含两个部分:数据部分和指针部分。单链表的特点是每个节点只能指向下一个节点,而最后一个节点指向一个空指针。这个空指针常用来表示链表的结尾,一般命名为 nullptr。

AII_IIA的博客 8738

波动性GARCH模型与波动率预测(代码+结果分析)

本文介绍的ARCH、GARCH模型可以刻画出随时间变化的条件异方差。

celiaweiwei的博客 2万+

交通流预测爬坑记(一):交通流数据集,原始数据

常用的交通流数据集,持续更新~~

K_first的博客 4万+

c 语言单向链表的删除

单链表删除

比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)曾说过:如果你没看过这些博客,那么你的编程不会拥有智慧,你的代码不可能附有灵魂。 2136

基于逆向工程的中国裁判文书网爬虫技术深度解析:从反爬破解到合规抓取

最近承接了一个法律大数据分析的项目,需要获取某类合同纠纷的裁判文书数据,用于分析不同地区的判决规律、法官的裁判倾向以及法条适用情况。原本以为用常规的Python爬虫就能搞定,结果刚对着中国裁判文书网发了几个请求,就遭遇了“滑铁卢”:要么请求直接返回403 Forbidden,要么触发滑块验证码,甚至连IP都被临时封禁了。普通的requests+BeautifulSoup组合在裁判文书网面前完全失效,这也让我意识到,想要获取这里的数据,必须先通过逆向工程拆解网站的请求逻辑和反爬机制。经过一周的摸索,从抓包分析

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3172

笔试题之单向链表的三种删除方式

这样就删除了链表的最后一个结点;指定结点在链表中的位置,然后。,遍历单向链表,找到。

qq_41878292的博客 1208

[Python人工智能] 三十六.基于Transformer的商品评论情感分析 (2)keras构建多头自注意力(Transformer)模型

本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章利用Keras构建深度学习模型并实现了情感分析。这篇文章将介绍Transformer基础知识,并通过Keras构建多头自注意力(Transformer)模型,实现IMDB电影影评数据情感分析。基础性文章,希望对您有所帮助!...

杨秀璋的专栏 4909

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入,结合Developer实现

weixin_42412049的博客 1811

【数据结构】单链表的删除

单链表的删除

zx1041561837的博客 1217

粒子群算法Particle Swarm Optimization超详细解析+代码实例讲解

粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法(Evolutionary Algorithm - EA)。

猫敷雪 893

单向链表的添加、遍历、修改与删除java

举一个例子: 我们小时候玩儿的积木拼接,它是前凸后凹的,能进行很好的连接。 某一天晚上,爸爸买回来一盒积木,并且这些积木都是一样的,想要搭建好这些积木,我就需要进行拼接! package Demo7; import Demo6.SingleLinkedList; public class Demo { public static void main(String[] args) { //先添加数据,就相当于先要有积木,才能进行拼接!,这里有四个积木,也就是四个数据。

qq_45844138的博客 314

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...

weixin_39589557的博客 1003

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...

weixin_39942191的博客 191

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...

weixin_39607865的博客 284

《Delphi 算法与数据结构》学习与感悟[8]: 单向链表的添加、删除与遍历

本例效果图: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; ...

weixin_34405354的博客 119

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 实现目标 从数据结构的角度来说,链表中包含一个或多个节点的数据容器,这些个节点通过串联形成一个完整...

gaoy_kkk的博客 1813

【数据结构与算法】单向链表与双向链表的增删改查(包括有序插入到链表)

单向链表 1、链表是以节点的方式来存储,是链式存储 2、每个节点包含data域,next域:指向下一个节点 3、链表的每个节点不一定是连续存储 4、链表分带头节点的链表和没有头节点链表,根据需求确定 1、遍历 通过一个辅助遍历,帮助遍历整个链表 2、添加(创建) (1)先创建一个head头节点,作用就是表示单链表的头 (2)后面每添加一个节点,就直接加入到链表的最后 添加有俩种形式,一种是直接...

像风走过八千里 618

数据结构与算法--单向链表

文章主要从介绍链表的概念出发,深入理解链表的实现原理,用Python语言实现单向链表!

storyfull 526

链表之单向链表

在进行存储数据时,你请求计算机提供存储空间,计算机会给你一个存储地址。当有很多数据需要存储的时候,可以采用两种形式——数组和链表,那么这两种方式又有什么区别呢? (一) 数组与链表 假设大学教室的某排座椅11个,从左到右排号,0-10号,这类似内存空间,现在某宿舍6名女生来上自习,从0号开始入座,入座之后,他们都是连续的挨在一起的。假设现在某女同学的男朋友来了,非得和她坐在一起,那么这个女生之后其...

卢国舅的博客 367

【数据结构与算法】双向链表

在了解过单向链表后,可以继续深入了解进阶的双向链表,其在单向链表的基础上多了一个指向前一节点的pre属性。

猿来是你 628

java 双向链表_程序员:Java数据结构与算法,单向链表与双向链表

前言高科技时代,程序员也要不断的进步,不能只停留在if else 的业务代码能力。除了要学习更先进的框架,更新的技术流,基础知识也不能落下,特别是数据结构和算法,许多程序员还是比较薄弱的。今天我们就来聊聊Java数据结构与算法,单身链表与双向链表什么是链表链表是以节点的方式来存储的,是链式存储每个节点包括date域:保存数据 和next域:指向下一个节点如图:发现链表的各个节点不一定是连续存放的链...

weixin_39715187的博客 88

【Java数据结构与算法】双向链表

双向链表

lolly1023的博客 1099
上一篇: 一个简单的"单向链表"
下一篇: 循环链表
RegeditNo1
博客等级 码龄16年 2粉丝 45原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值