zoukankan      html  css  js  c++  java
  • 《Delphi 算法与数据结构》学习与感悟[9]: 循环链表

    前面例子中, 链表的尾节点都再没有链接其他节点; 如果让尾节点再链接首节点, 不就是循环链表了吗?

    本例效果图:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    type
      PMyRec = ^MyRec;
      MyRec = record
        Name: string[8];
        Age : Word;
        Link: PMyRec;
      end;
    
    var
      CurrentNode: PMyRec;
    
    {建立链表}
    procedure TForm1.FormCreate(Sender: TObject);
    var
      FirstNode, EndNode: PMyRec;
    begin
      New(FirstNode);
      FirstNode.Name := '李四';
      FirstNode.Age  := 44;
      FirstNode.Link := nil;
      EndNode := FirstNode;     {记住尾节点}
      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;
    
      EndNode.Link := FirstNode;  {把首尾接起来}
    end;
    
    {循环访问链表节点}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Text := CurrentNode.Name + #44 + IntToStr(CurrentNode.Age);
      CurrentNode := CurrentNode.Link;
    end;
    
    end.
    
  • 相关阅读:
    iOS8中用UIVisualEffectView实现高斯模糊视图(毛玻璃效果)
    IOS推荐学习网站
    Xcode因为证书问题经常报的那些错
    bug集合令
    html5的标签
    CSS小总结
    JS中的闭包
    前端之路宣告式
    linux安装mysql数据库
    yarn环境搭建
  • 原文地址:https://www.cnblogs.com/del/p/1113069.html
Copyright © 2011-2022 走看看