zoukankan      html  css  js  c++  java
  • 《Delphi 算法与数据结构》学习与感悟[6]: 一个简单的"单向链表"

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    type
      PMyRec = ^MyRec;  {把 PMyRec 定义为下面 MyRec 结构的指针类型}
      MyRec = record
        Name: string[8];
        Age : Word;
        Link: PMyRec;   {结构中同时包含同类型的指针, 用于链接其他同类结构}
      end;
    
    var
      R1,R2,R3,R4: MyRec;
    
    {把 R1、R2、R3、R4 够建成一个环环相扣的"链", 这就是一个简单的"链表"}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      R4.Name := '李四';
      R4.Age  := 16;
      R4.Link := nil;
    
      R3.Name := '张三';
      R3.Age  := 61;
      R3.Link := @R4;
    
      R2.Name := '钱二';
      R2.Age  := 24;
      R2.Link := @R3;
    
      R1.Name := '赵一';
      R1.Age  := 42;
      R1.Link := @R2;
    end;
    
    {现在 , 通过 R1 即可以访问整个链; 但这个链是单向的, 所以叫"单向链表"}    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(R1.Name); {赵一}
      ShowMessage(R1.Link^.Name); {钱二}
      ShowMessage(R1.Link^.Link^.Name); {张三}
      ShowMessage(R1.Link^.Link^.Link^.Name); {李四}
    end;
    
    {通过结构指针读取数据可以省略 ^; 所以 Button1Click 可以简写为:}
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      ShowMessage(R1.Name); {赵一}
      ShowMessage(R1.Link.Name); {钱二}
      ShowMessage(R1.Link.Link.Name); {张三}
      ShowMessage(R1.Link.Link.Link.Name); {李四}
    end;
    
    end.
    
  • 相关阅读:
    delphi TOpenDialog
    delphi TSaveDialog
    Delphi中一些常用的组合键值
    delphi TColorDialog
    Delphi TFindDialog TReplaceDialog对话框在Memo中的使用
    Delphi ListView基本用法大全
    地球帝国3
    五笔难拆字字根表
    Delphi Format中的换行符号是什么
    myNote
  • 原文地址:https://www.cnblogs.com/del/p/1111539.html
Copyright © 2011-2022 走看看