數(shù)組和廣義表_第1頁
數(shù)組和廣義表_第2頁
數(shù)組和廣義表_第3頁
數(shù)組和廣義表_第4頁
數(shù)組和廣義表_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)組和廣義表第1頁,課件共59頁,創(chuàng)作于2023年2月5.1數(shù)組的定義一維數(shù)組定長的線性表,數(shù)據(jù)元素是原子類型二維數(shù)組定長的線性表,每個(gè)數(shù)據(jù)元素也是一個(gè)定長線性表A=(a1,a2,a3,…,an)A=(a1,a2,…am)第2頁,課件共59頁,創(chuàng)作于2023年2月5.1數(shù)組的定義數(shù)組的邏輯結(jié)構(gòu)特點(diǎn):結(jié)構(gòu)中的元素本身可以是具有某種結(jié)構(gòu)的數(shù)據(jù),但屬于同一數(shù)據(jù)類型。比如:一維數(shù)組可以看作一個(gè)線性表;二維數(shù)組可以看作“數(shù)據(jù)元素是一維數(shù)組”的一維數(shù)組;三維數(shù)組可以看作“數(shù)據(jù)元素是二維數(shù)組”的一維數(shù)組,依此類推。第3頁,課件共59頁,創(chuàng)作于2023年2月5.1數(shù)組的定義n維數(shù)組A(0..b1-1,0..b2-1,…,0..bn-1)n維數(shù)組中共含有個(gè)數(shù)據(jù)元素每個(gè)數(shù)據(jù)元素都受著n個(gè)關(guān)系的約束數(shù)組一旦被定義,維數(shù)、維界就不再改變操作:存取,修改第4頁,課件共59頁,創(chuàng)作于2023年2月5.2數(shù)組的順序表示和實(shí)現(xiàn)一旦建立了數(shù)組,則結(jié)構(gòu)中的數(shù)據(jù)元素個(gè)數(shù)和元素之間的關(guān)系就不再發(fā)生變動(dòng)采用順序存儲(chǔ)結(jié)構(gòu)表示數(shù)組存儲(chǔ)單元是一維的:存放一維數(shù)組:按下標(biāo)順序分配;存放多維數(shù)組,則用一組連續(xù)存儲(chǔ)單元存放數(shù)組的數(shù)據(jù)元素就有一個(gè)次序約定問題第5頁,課件共59頁,創(chuàng)作于2023年2月5.2數(shù)組的順序表示和實(shí)現(xiàn)1.以行為主序(或先行后列)的順序存放如BASIC、PASCAL、C等2.以列為主序(先列后行)的順序存放如FORTRAN語言第6頁,課件共59頁,創(chuàng)作于2023年2月5.2數(shù)組的順序存儲(chǔ)結(jié)構(gòu)次序約定以行序?yàn)橹餍蛞粤行驗(yàn)橹餍?/p>

a11a12……..a1n

a21a22……..a2n

am1am2……..amn

….Loc(aij)=Loc(a11)+[(i-1)n+(j-1)]*l

按行序?yàn)橹餍虼娣?/p>

amn

……..

am2

am1

……….

a2n

……..

a22

a21

a1n

…….

a12

a1101n-1m*n-1n

按列序?yàn)橹餍虼娣?1m-1m*n-1m

amn

……..

a2n

a1n

……….

am2

……..

a22

a12

am1

…….

a21

a11

a11

a12

……..

a1n

a21

a22……..

a2n

am1

am2

……..amn

….Loc(aij)=Loc(a11)+[(j-1)m+(i-1)]*l

第7頁,課件共59頁,創(chuàng)作于2023年2月

5.2數(shù)組的順序表示和實(shí)現(xiàn)分配規(guī)律:以行為主序的分配規(guī)律:最右邊的下標(biāo)先變化,即最右下標(biāo)從小到大,循環(huán)一遍后,右邊第二個(gè)下標(biāo)再變,…,從右向左,最后是左下標(biāo)。以列為主序分配的規(guī)律:最左邊的下標(biāo)先變化,即最左下標(biāo)從小到大,循環(huán)一遍后,左邊第二個(gè)下標(biāo)再變,…,從左向右,最后是右下標(biāo)。第8頁,課件共59頁,創(chuàng)作于2023年2月尋址運(yùn)算:設(shè)有m×n二維數(shù)組Amn,按元素的下標(biāo)求其地址以“以行為主序”尋址:設(shè)數(shù)組的基址為LOC(a11),每個(gè)數(shù)組元素占據(jù)l個(gè)地址單元,則aij的物理地址

LOC(aij)=LOC(a11)+[(i-1)*n+j-1]*l在C語言中,數(shù)組中每一維的下界定義為0,則:LOC(aij)=LOC(a00)+(i*n+j)*l第9頁,課件共59頁,創(chuàng)作于2023年2月推廣到一般的二維數(shù)組:A[c1..d1][c2..d2],則aij的物理地址計(jì)算函數(shù)為:LOC(aij)=LOC(ac1c2)+[(i-c1)*(d2-c2+1)+(j-c2)]*l自己考慮一下以列序?yàn)橹餍虼娣艜r(shí)的尋址運(yùn)算第10頁,課件共59頁,創(chuàng)作于2023年2月同理對(duì)于三維數(shù)組Amnp,即m×n×p數(shù)組,數(shù)組元素aijk其物理地址為:LOC(aijk)=LOC(a111)+((i-1)*n*p+(j-1)*p+k-1)*l推廣到一般的三維數(shù)組:A[c1..d1][c2..d2][c3..d3],則aijk的物理地址為:LOC(i,j)=LOC(ac1c2c3)+((i-c1)*(d2-c2+1)*(d3-c3+1)+(j-c2)*(d3-c3+1)+(k-c3))*l第11頁,課件共59頁,創(chuàng)作于2023年2月5.3矩陣的壓縮存儲(chǔ)矩陣——許多科學(xué)與工程計(jì)算問題中研究的數(shù)學(xué)對(duì)象用高級(jí)語言編程時(shí),一般用二維數(shù)組來存儲(chǔ)矩陣元素,有些程序設(shè)計(jì)語言中還提供了各種矩陣運(yùn)算特殊矩陣:矩陣中有許多值相同的元素或零元素,且分布有一定規(guī)律。如:對(duì)稱矩陣、三角矩陣、對(duì)角矩陣等稀疏矩陣:矩陣中有很多零(或值相同的元素),且分布無規(guī)律壓縮存儲(chǔ):為多個(gè)值相同的元只分配一個(gè)存儲(chǔ)空間,零元不分配空間第12頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣對(duì)稱矩陣n階矩陣,且aij=aji(1≤i,j≤n)為每一對(duì)對(duì)稱元分配一個(gè)存儲(chǔ)空間可將n2個(gè)元壓縮存儲(chǔ)在n(n+1)/2個(gè)元的空間中上三角下三角行序?yàn)橹餍蛄行驗(yàn)橹餍虻?3頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣對(duì)稱矩陣行序?yàn)橹餍虼鎯?chǔ)下三角{a11,

a21,

a22,

a31,

a32,…,

an1,

an2,…,

ann}第14頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣對(duì)稱矩陣用一維數(shù)組sa[n(n+1)/2]以行序?yàn)橹餍虼鎯?chǔ)下三角{a11,

a21,

a22,

a31,

a32,…,

an1,

…,

ann}01234n(n-1)/2n(n+1)/2-1k第15頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣對(duì)稱矩陣用一維數(shù)組sa[n(n+1)/2]以行序?yàn)橹餍虼鎯?chǔ)下三角aij123456前i-1行,共i(i-1)/2個(gè)元本行共j個(gè)元k=i(i-1)/2+j-1aij交換i,j第16頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣對(duì)稱矩陣用一維數(shù)組sa[n(n+1)/2]以行序?yàn)橹餍虼鎯?chǔ)下三角sa[k]和矩陣元aij之間存在一一對(duì)應(yīng)關(guān)系:第17頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣三角矩陣下三角矩陣:矩陣的上三角(不含主對(duì)角線)的矩陣元均為常數(shù)c(或零)上三角矩陣:矩陣的下三角(不含主對(duì)角線)的矩陣元均為常數(shù)c(或零)下(上)三角矩陣,只需存儲(chǔ)下(上)三角的元素,再加一個(gè)存儲(chǔ)常數(shù)c的存儲(chǔ)空間也有兩種存儲(chǔ)方式:行序?yàn)橹餍?、列序?yàn)橹餍蚺c對(duì)稱矩陣類似第18頁,課件共59頁,創(chuàng)作于2023年2月下三角矩陣

a11

00

……..0

a21a22

0

……..0

an1an2an3……..ann

….

0a11a21a22a31a32an1ann

…...…...k=01234n(n-1)/2n(n+1)/2-1按行序?yàn)橹餍颍旱?9頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣?yán)}:設(shè)有下三角矩陣An×n,以行序?yàn)橹餍虼鎯?chǔ)其下三角元素,基地址為β,每個(gè)數(shù)據(jù)元素占c個(gè)存儲(chǔ)單元。求aij的地址(i≥j)。第1行存儲(chǔ)1個(gè)元素…第i-1行存儲(chǔ)i-1個(gè)元素共(i-1)i/2個(gè)元素第i行在aij之前共

j-1個(gè)元素β+[(i-1)i/2+j-1]c第20頁,課件共59頁,創(chuàng)作于2023年2月5.3.1特殊矩陣思考:設(shè)有下三角矩陣An×n,以列序?yàn)橹餍虼鎯?chǔ)其下三角元素,基地址為β,每個(gè)數(shù)據(jù)元素占c個(gè)存儲(chǔ)單元。求aij的地址(i≥j)。aij前j-1列多少個(gè)元素?本列(第j列)aij前多少個(gè)元素?第21頁,課件共59頁,創(chuàng)作于2023年2月對(duì)角矩陣所有非零元都集中在主對(duì)角線為中心的帶狀區(qū)域中

a11

a120

…………….

0

a21

a22a23

0

……………0

0

0

…an-1,n-2an-1,n-1

an-1,n

0

0

……an,n-1ann.

0

a32a33a34

0

………0

……………第22頁,課件共59頁,創(chuàng)作于2023年2月按行優(yōu)序?yàn)橹餍騺泶鎯?chǔ)。a11a12

a21a22a23a32

……ann-1ann求LOC(i,j):在aij之前有i-1行,共有3*(i-1)-1個(gè)非零元素,在第i行,有j-i+1個(gè)非零元素,非零元素aij的地址為:LOC(i,j)=LOC(1,1)+[3*(i-1)-1+(j-i+1)]*d=LOC(1,1)+(2i+j-3)*d

除第1行和第n行是2個(gè)元素外,每行的非零元素都是3個(gè),因此,需存儲(chǔ)的元素個(gè)數(shù)為3n-2。K=012345……3n-43n-3第23頁,課件共59頁,創(chuàng)作于2023年2月5.3.2稀疏矩陣什么是稀疏矩陣?假設(shè)在m×n矩陣中,有t個(gè)非零元,定義矩陣的稀疏因子δ≤0.05時(shí),矩陣稱為稀疏矩陣零非常多,且分布無規(guī)律時(shí)壓縮存儲(chǔ):只存儲(chǔ)非零元第24頁,課件共59頁,創(chuàng)作于2023年2月5.3.2稀疏矩陣示例只存儲(chǔ)非零元的值,同時(shí)必須記下所在行、列位置一個(gè)三元組(i,j,aij)惟一確定了矩陣的一個(gè)非零元表示所有非零元的三元組表就確定了整個(gè)矩陣×第25頁,課件共59頁,創(chuàng)作于2023年2月5.3.2稀疏矩陣三元組表的不同表示方法三元組順序表——順序存儲(chǔ)結(jié)構(gòu)將三元組按行優(yōu)先的順序,同一行中列號(hào)從小到大的規(guī)律排列成一個(gè)線性表,稱為三元組表,采用順序存儲(chǔ)方法存儲(chǔ)該表。行邏輯鏈接的順序表——帶有附加信息的順序存儲(chǔ)結(jié)構(gòu)十字鏈表——鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)第26頁,課件共59頁,創(chuàng)作于2023年2月行序?yàn)橹餍?.3.2稀疏矩陣示例

1234567123456((1,2,12),(1,3,9),(3,1,-3),(3,6,14),(4,3,24),(5,2,18),(6,1,15),(6,4,-7))(6,7,8)第27頁,課件共59頁,創(chuàng)作于2023年2月一、三元組順序表要唯一的表示一個(gè)稀疏矩陣,需要存儲(chǔ):

1,三元組表;

2,該矩陣的行數(shù)、列數(shù);

3,矩陣的非零元素的個(gè)數(shù)(為了運(yùn)算方便)第28頁,課件共59頁,創(chuàng)作于2023年2月存儲(chǔ)的思想實(shí)現(xiàn):

defineSMAX1024/*一個(gè)足夠大的數(shù)*/typedefstruct{inti,j;/*非零元素的行、列*/datatypev;/*非零元素值*/}Triple;/*三元組類型*/typedefstruct{intmu,nu,tu;/*矩陣的行、列及非零元素的個(gè)數(shù)*/Tripledata[SMAX];/*三元組表*/}TSMatrix;/*三元組表的存儲(chǔ)類型*/第29頁,課件共59頁,創(chuàng)作于2023年2月壓縮存儲(chǔ)下矩陣的轉(zhuǎn)置轉(zhuǎn)置矩陣的定義:對(duì)于一個(gè)m×n的矩陣M,它的轉(zhuǎn)置矩陣T是一個(gè)n×m的矩陣,且T[i][j]=M[j][i],(1<=i<=n,1<=j<=m)。請(qǐng)看下面具體示例。第30頁,課件共59頁,創(chuàng)作于2023年2月矩陣轉(zhuǎn)置rowcole12616-234-842346751-12539rowcole15-1221624335943-861-2647第31頁,課件共59頁,創(chuàng)作于2023年2月矩陣轉(zhuǎn)置求一個(gè)矩陣的轉(zhuǎn)置矩陣可以經(jīng)過下列步驟來完成:將矩陣的行列值互換;

對(duì)每個(gè)三元組所表示的非零元,將該元素的行、列值互換;按行序重排三元組。

第32頁,課件共59頁,創(chuàng)作于2023年2月三元組表的矩陣轉(zhuǎn)置運(yùn)算rowcole12616-234-842346751-12539rowcole15-1221624335943-861-26471234567第33頁,課件共59頁,創(chuàng)作于2023年2月矩陣轉(zhuǎn)置/TSMatrixTransMatrix(TSMatrixA,TSMatrixB){∥采用三元組表方式存儲(chǔ),實(shí)現(xiàn)矩陣的轉(zhuǎn)置

B.mu=A.nu;B.nu=A.mu;B.tu=A.tu;if(B.tu){q=l;for(j=1;j<=A.n;j++)for(p=1;p<=A.len;++p)if(A.data[p].col==j){B.data[q].row=A.data[p].col;B.data[q].col=A.data[p].row;B.data[q].e=A.data[p].e;

q++;}}returnB;}∥TransMatrix

第34頁,課件共59頁,創(chuàng)作于2023年2月算法分析時(shí)間復(fù)雜度為:nu*tu對(duì)于mu*nu矩陣,一般算法的時(shí)間復(fù)雜度為:O(mu*nu)。當(dāng)非零元個(gè)數(shù)tu和mu*nu同數(shù)量級(jí)時(shí),該算法的時(shí)間復(fù)雜讀為:O(mu*nu2);這里每次找第j列的元素時(shí),必須從頭開始遍歷。若知道T的每一行的非零元素的開始位置,就可把算法的時(shí)間復(fù)雜度降低。第35頁,課件共59頁,創(chuàng)作于2023年2月矩陣的快速轉(zhuǎn)置思想:一遍掃描三元組表A.data,將每個(gè)元素放到轉(zhuǎn)置后的三元組表B.data的正確位置上。因此,需求出矩陣A中每列第一個(gè)非零元的位置和每列非零元素的個(gè)數(shù)。為此,增加存放每列非零元素個(gè)數(shù)的一維數(shù)組number[]和每列第一個(gè)非零元素在B中位置的一維數(shù)組position[]。并有以下公式:。position[1]=1position[j]=position[j-1]+number[j-1]2≤j≤A.tu

第36頁,課件共59頁,創(chuàng)作于2023年2月number和position向量實(shí)例rowcole12616-234-842346751-12539rowcole15-1221624335943-861-2647j123456number[j]121102position[j]124566矩陣A的number和position向量的值:第37頁,課件共59頁,創(chuàng)作于2023年2月TSMatrixFastTransMatrix(TSMatrixA,TSMatrixB){∥三元組表上實(shí)現(xiàn)矩陣的快速轉(zhuǎn)置的算法

B.mu=A.nu;B.nu=A.mu;B.tu=A.tu;if(A.tu){for(j=1;j<=A.nu;j++)∥矩陣A每一列非零元初始化為零

number[j]=0;for(t=1;t<=A.tu;t++)∥求矩陣A每一列得非零元個(gè)數(shù)

number[A.data[t].col]++;position[1]=1;for(j=2;j<=A.nu;j++;∥求A.data第j列第一個(gè)非零元在B.data中的序號(hào)

position[col]=position[col-1]+number[col-1];

三元組表的矩陣快速轉(zhuǎn)置(1)第38頁,課件共59頁,創(chuàng)作于2023年2月

for(p=1;p<=A.tu;p++)∥求轉(zhuǎn)置矩陣B的三元組表

{j=A.data[p].col;q=position[j];B.data[q].row=A.data[p].col;

B.data[q].col=A.data[p].row;B.data[q].e=A.data[p].e;

position[j]++;}}//ifreturnB;}//算法結(jié)束時(shí)間復(fù)雜度為:O(nu+tu);三元組表的矩陣快速轉(zhuǎn)置(2)第39頁,課件共59頁,創(chuàng)作于2023年2月第40頁,課件共59頁,創(chuàng)作于2023年2月第41頁,課件共59頁,創(chuàng)作于2023年2月二、十字鏈表每一個(gè)非零元用一個(gè)結(jié)點(diǎn)表示每個(gè)結(jié)點(diǎn)含5個(gè)域:i,j,e三個(gè)域分別表示該非零元所在的行、列、值指針域down用以指向同一列中下一個(gè)非零元指針域right用以指向同一行中下一個(gè)非零元同一行的非零元通過right域鏈接成一個(gè)線性鏈表同一列的非零元通過down域鏈接成一個(gè)線性鏈表每個(gè)非零元的結(jié)點(diǎn)既是某個(gè)行鏈表中的結(jié)點(diǎn),又是某個(gè)列鏈表中的結(jié)點(diǎn)

j

e

rightdown

i第42頁,課件共59頁,創(chuàng)作于2023年2月5.3.2稀疏矩陣2-4∧∧2515∧∧11-2∧4621∧∧41714-1∧∧3∧

7000150

0-40000

-2000021

000-100M=第43頁,課件共59頁,創(chuàng)作于2023年2月5.3.2稀疏矩陣三、十字鏈表

7000150

0-40000

-2000021

000-100M=用一個(gè)數(shù)組M.rhead存儲(chǔ)行鏈表的頭指針用一個(gè)數(shù)組M.chead存儲(chǔ)列鏈表的頭指針M.mu,M.nu,M.tu第44頁,課件共59頁,創(chuàng)作于2023年2月稀疏矩陣的十字鏈表存儲(chǔ)表示:TypedefstructOLNode{inti,j;Elemtypee;structOLNode*right,*down;}OLNode*Olink;Typedefstruct{Olinkrhead,chead;intmu,nu,tu;}CrossList;第45頁,課件共59頁,創(chuàng)作于2023年2月5.4廣義表的定義廣義表中的元素既可以是原子(單個(gè)元素),也可以是子表(另一個(gè)廣義表)廣義表,也稱為列表(lists),是n≥0個(gè)元素α1,α2,…,αn的有限序列;每一個(gè)αi或者是原子,或者是一個(gè)子表廣義表通常記為LS=(α1,α2,…,αn),其中LS為廣義表的名字,n為廣義表的長度,每一個(gè)αi為廣義表的元素一般用大寫字母表示廣義表,小寫字母表示原子第46頁,課件共59頁,創(chuàng)作于2023年2月5.4廣義表的定義當(dāng)廣義表LS=(α1,α2,…,αn)非空時(shí),稱第1個(gè)元素α1為LS的表頭(head),稱其余元素組成的表(α2,…,αn)是LS的表尾(tail)廣義表的定義是遞歸的。示例:A=()B=(e)C=(a,(b,c,d))D=(A,B,C)E=(a,E)長度每一個(gè)元素表頭表尾A長度為0空表B長度為1第1個(gè)元素e表頭e表尾()C長度為2第1個(gè)元素a第2個(gè)元素(b,c,d)表頭a表尾((b,c,d))D長度為3第1個(gè)元素A第2個(gè)元素B第3個(gè)元素C表頭A表尾(B,C)E長度為2第1個(gè)元素a第2個(gè)元素E表頭a表尾(E)第47頁,課件共59頁,創(chuàng)作于2023年2月5.4廣義表的定義廣義表的性質(zhì):列表的元素可以是子表,而子表的元素還可以是子表,…因此,列表是一個(gè)多層次的結(jié)構(gòu).列表可以為其它列表所共享列表可以是一個(gè)遞歸表DABCeabcdA=()B=(e)C=(a,(b,c,d))D=(A,B,C)E=(a,E)第48頁,課件共59頁,創(chuàng)作于2023年2月5.4廣義表的定義廣義表的深度:廣義表展開成原子后,所含括號(hào)的層數(shù)A=()B=(e)C=(a,(b,c,d))D=(A,B,C)E=(a,E)A=()B=(e)C=(a,(b,c,d))D=((),(e),(a,(b,c,d)))E=(a,(a,(a,(a,…))))1123∞第49頁,課件共59頁,創(chuàng)作于2023年2月

2廣義表基本運(yùn)算CreateLists(ls):根據(jù)廣義表的書寫形式創(chuàng)建一個(gè)廣義表ls。IsEmpty(ls):若廣義表ls空,則返回True;否則返回False。Length(ls):求廣義表ls的長度。第50頁,課件共59頁,創(chuàng)作于2023年2月

2廣義表基本運(yùn)算Locate(ls,x):在廣義表ls中查找數(shù)據(jù)元素x。Merge(ls1,ls2):以ls1為頭、ls2為尾建立廣義表。CopyGList(ls1,ls2):復(fù)制廣義表,即按ls1建立廣義表ls2。Head(ls):返回廣義表ls的頭部。Tail(ls):返回廣義表的尾部。Depth(ls):求廣義表ls的深度?!?/p>

第51頁,課件共59頁,創(chuàng)作于2023年2月5.5廣義表的存儲(chǔ)結(jié)構(gòu)廣義表的數(shù)據(jù)元素不同構(gòu)(或是原子,或是子表),通常采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),每個(gè)數(shù)據(jù)元素用一個(gè)結(jié)點(diǎn)表示.原理:廣義表除空表外,可分成表頭、表尾,表尾一定是廣義表廣義表由若干個(gè)元素組成,每個(gè)元素既可以是原子,又可以是子表結(jié)點(diǎn)分為兩類:原子結(jié)點(diǎn)、表結(jié)點(diǎn)按結(jié)點(diǎn)形式的不同,廣義表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)又可以分為:

頭尾表示法,孩子兄弟表示法。第52頁,課件共59頁,創(chuàng)作于2023年2月5.5廣義表的存儲(chǔ)結(jié)構(gòu)第一種存儲(chǔ)結(jié)構(gòu)——頭尾鏈表存儲(chǔ)表示原理:廣義表除空表外,可分成表頭、表尾,表尾一定是廣義表tag=1hptp表結(jié)點(diǎn)指向表尾指向表頭標(biāo)志域tag=0data標(biāo)志域原子結(jié)點(diǎn)值域第53頁,課件共59頁,創(chuàng)作于2023年2月其形式定義說明如下:typedefenum{ATOM,LIST}Elemtag;/*ATOM=0:單元素;LIST=1:子表*/typedefstructGLNode{Elemtagtag;/*標(biāo)志域,用于區(qū)分元素結(jié)點(diǎn)和表結(jié)點(diǎn)*/union{/*元素結(jié)點(diǎn)和表結(jié)點(diǎn)的聯(lián)合部分*/datatypedata;/*data是原子結(jié)點(diǎn)的值域*/struct{structGLNode*hp,*tp;

}ptr;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論