『Delphiアルゴリズムとデータ構造』学習と悟り[7]:チェーンテーブルと配列の異同

1426 ワード

まず、
前の例は、配列でも実現でき、より簡単です.


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、チェーンテーブルはより多くの拡張可能性を持っている!