Download presentation
Presentation is loading. Please wait.
Published byFarida Setiabudi Modified 約 5 年前
1
TList リスト構造とは? 複数のデータを扱うために、 データの内容と、次のデータへのポインタを持つ構造体を使う。
struct card { char *name; /* 単語の先頭アドレス */ struct card *next; /* 次の構造体変数のアドレス */ };
2
TList リスト構造 : 単方向リスト カード2 カード0 cherry Apple 1 カード1 Orange 2
3
TList データはmallocやnewで一個づつ用意できる。 リストの最後は、ポインタをNULLにしておく。
配列と違い、メモリ上では連続しなくてもよい。 どの場所にも新しいデータを追加できる。 どの場所でもデータを削除できる。
4
通常の配列 int data[100]; 100個まで対応、追加できない。 int *data,number;
number = StrToInt(Edit1->Text); data = new int[number]; 実行時に最大値を決められるが、 追加はできない。
5
TList リスト構造なら、データを任意の場所に追加できる。 Apple 3 Orange 2 カード0 カード1 cherry カード2
3 Orange 2 カード0 カード1 cherry カード2 Apple 1 Orange 2 カード0 カード1 cherry カード2 peach 1 カード3
6
TList リスト構造 : 双方向リスト カード1 カード0 cherry 2 Apple 2 カード2 Orange 1 0
7
TList リスト構造を扱うためのクラス。 そのまま変数を作るのではなくて、 ポインタにnewによって実体を割り当てる。
TList *list = new TList; または TLst *list; list = new TList;
8
TList データを追加するには・・・ TList ではデータそのものを格納するのではなく データのアドレスを格納する。
Add関数:リストの最後にデータを追加する。 card data1; list->Add(&data1);
9
TList データをリストに挿入する TListでは、メンバ関数
void __fastcall Insert(int Index, void * Item); をつかうことで、Index番目にデータを挿入できる。 Indexは0番目から始まっている。
10
TList あるデータをリストから削除する TListでは、メンバ関数 void __fastcall Delete(int Index);
データ自体は消えていないことに注意。 単にリストから外れただけである。
11
TList リストに保存されているデータの数は? TListでは、メンバ変数 Countが、 リストに保存されているデータの数をもっている。
12
TList リストに保存されているデータは? TListでは、 __property void * Items[int Index];
できる。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.