線形テーブルを実装するには 2 つの方法があります: 1. シーケンシャル ストレージ構造、その要素が占めるストレージ スペースは連続的であり、論理的な順序で保存されます; 2. チェーン ストレージ構造、不連続なセットを格納できます。ストレージの 2 つの部分を備えた任意のストレージ ユニット。1 つの部分はデータ要素値のデータ フィールドを格納し、もう 1 つの部分は直接先行ノードまたは直接後続ノードのポインタ フィールドを格納します。
#リニア テーブルには、シーケンシャル ストレージ構造とチェーン ストレージ構造という 2 つの基本的なストレージ構造があります。
1. シーケンシャル テーブル
には次の 2 つの基本特性があります: (1) 線形テーブルのすべての要素が占有するストレージテーブル空間は連続しています。 (2) 線形テーブルの各データ要素は、記憶空間に論理的な順序で格納されます。 #2. 線形テーブルのリンク ストレージ線形テーブルのリンク ストレージの構造これは、線形テーブルのデータ要素を格納するために、一連の任意のストレージ ユニット (不連続でもよい) を使用することです。
線形テーブルのデータ要素ごとに、格納するために 2 つの部分が必要です。1 つの部分は、データ フィールドと呼ばれるデータ要素値の格納に使用され、もう 1 つの部分は、直接の先行データまたは直接のデータ要素の格納に使用されます。アドレス(ポインタ)をポインタフィールドと呼び、この記憶単位をノードと呼びます。
3. 循環リンク リスト循環リンク リスト (循環リンク リスト) は、リンク ストレージ構造の別の形式です。これは、単一リンク リストの最後のノードのポインタをリンク リストの先頭ノードにポイントし、リンク リスト全体を先頭から末尾まで接続してリングを形成します。
4. 二重リンク リスト双方向リンク リストは、2 つのポインタを使用してノード間の論理関係を表します。このようにして形成された連結リストは、前任者と後続者という異なる方向の 2 つのチェーンを持つため、二重連結リストと呼ばれます。
typedef struct DNode{ ElemType data; struct DNode *prior; struct DNode *next; }Dnode,*DuLinkList;
関連する学習上の推奨事項:
PHP プログラミングの入門から熟練度まで
以上が線形テーブルを実装できる方法は何通りありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。