zoukankan      html  css  js  c++  java
  • 《Delphi 算法与数据结构》学习与感悟[7]: 链表与数组的异同

    首先, 上一个例子, 用数组也可以实现, 并且更简单:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    type
      MyRec = record
        Name: string[8];
        Age : Word;
      end;
    
    var
      RecArr: array[0..3] of MyRec;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      RecArr[3].Name := '李四';
      RecArr[3].Age  := 16;
    
      RecArr[2].Name := '张三';
      RecArr[2].Age  := 61;
    
      RecArr[1].Name := '钱二';
      RecArr[1].Age  := 24;
    
      RecArr[0].Name := '赵一';
      RecArr[0].Age  := 42;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(RecArr[0].Name); {赵一}
      ShowMessage(RecArr[1].Name); {钱二}
      ShowMessage(RecArr[2].Name); {张三}
      ShowMessage(RecArr[3].Name); {李四}
    end;
    
    end.
    
    链表与数组的异同:
    1、数组中的元素在内存中是连续的; 链表不是.
    2、数组的内存是一次性分配和释放的; 链表不是.
    3、链表定位元素是顺藤摸瓜; 数组是一步到位, 更快.
    4、链表可以方便的插入和删除元素; 用数组实现即麻烦有费时, 基本没人这样做.
    5、链表拥有更多扩展的潜力!

  • 相关阅读:
    delphi 开发扩展(二)
    ubuntu 下的两个项目管理工具
    jquery 图片轮询
    SSL on Ubuntu 8.10 Apache2
    netbeans 字体美化
    用IDHTTP 实现上传和返回XML
    windows7 安装 virtualbox和 ubuntu
    线程加载返回的XMLtoTClientDataSet
    双buffer与单buffer
    西西吹雪:从程序员到项目经理(一)
  • 原文地址:https://www.cnblogs.com/del/p/1112311.html
Copyright © 2011-2022 走看看