データ構造研究ノート03-データ構造線形表

抽象データ型線形テーブルの定義

ADT List
{
    
    
   数据对象
   数据关系
   基本操作
 			IniList(&L)           //构建空表L
 			ListLength(&L)         //求表L的长度
 			GetElem(L,i,&e)        //去元素ai 由e返回ai
 			PriorElem(L,ce,&pre_e)  //求ce的前驱,由pre_e返回
 			InsertElem(&L,i,e)     //在元素ai之气插入新元素e
 			DeleteElem(&L,i)     //删除第i个元素
 			EmptyList(L)      //判断L是否为空表
}ADT List

テーブルLのi番目のデータ要素を次のように削除します。

L = (a1,a2,...,ai-1.ai..,an)
若删除 表中i的元素
记作 DeleteElem(&L,i)
若删除 表中x的元素
记作 DeleteElem(&L,x)
//
若ai = x 优先删除ai

要素aiの前に新しい要素eを挿入します

InsertElem(&L,i,e)
 L= (ai,a2,....,ai-1,e,ai,...)

検索—要素値(またはデータ項目値がeである要素)を決定します
。L=(a1、a2、…、ai、…an)が与えられた
場合、要素eにai = eが含まれている場合、検索は成功します。検索が失敗する


5.並べ替え
-要素値またはデータ項目値昇順(または降順)に従って、リスト内の各要素の位置を再配置します。
例:並べ替え前L =(90,60 ...)
並べ替え後:L =(10、20、30、60)


6.テーブルLaとテーブルLbをテーブルLc
結合して設定されたテーブルシーケンスに:
La =(2,14,20,45,80)
Lb =(8,10,19,20,22,85,90)
結合されたテーブル
Lc =(2、8、10、14、19、20)


7.テーブルLaをテーブルLbにコピーしますLa
=(2,14,20,45,80)
Lb =(2,14,20,45,80)


線形テーブルのシーケンシャル表現(シーケンシャルストレージ構造)
2.2.1シーケンシャル配布----
コンピュータのメモリに連続したアドレスを持つストレージユニットのグループに線形テーブルのデータ要素を保存します。この配布方法はシーケンシャル配布と呼ばれます。、またはシーケンシャル画像結果のストレージ構造またはベクトル(1次元配列)
lたとえば、
線形テーブルa =(30,40,10,55,24,80,66)
静的な1次元配列定義int a [11];
a [0 ] 30 a [1] 40 a [2] 55

シーケンスストレージ構造の一般的な形式:
シーケンス番号ストレージ状態ストレージアドレス
1 a1 b
2 a2 b + q
i ai b +(i-1)* p
na b +(
n-1)* p
maleng b +(maxleng-1) * p
bは、最初のアドレス/ベースアドレス要素のアドレスai
p -------------- 1つのデータ要素
maxlengが占有するストレージユニットの数------------- ----最大長、定数


C言語での線形テーブルシーケンス構造の定義

  #define maxleng 100
 {
    
    
     ElemType la[maxleng +  1];            /  /  下标 0 1 maxleng
     int length;   //当前长度
     int last;      //an的位置
 }

C言語での線形テーブルの順次構造の定義(静的割り当て)
例2:要素が占めるスペースとテーブルの長さは、C言語の構造タイプにマージされます。

#define maxleng 100
 typedef struct 
 {
    
    
  Elemtype elem[maxleng];//小标 0,1,... ,maxleng-1
  int length;
 }SqList;
 SqList La;

その中で、typedef-alias定義、SqList-構造型名
La ----構造型変数名
La.length -----テーブル長
La.elem [0] ------ a1
La.eleml [La 、長さ-1] ---- an

C言語で定義された配列構造リニアテーブル(動的に割り当てられる)
の#define LIST_INIT_SIZE 100
の#define LISTINCREMENT 10
のtypedef構造体
{ Lbは- }

おすすめ

転載: blog.csdn.net/m0_46179894/article/details/109214635
おすすめ