然後訪問ADT需要入口和出口參數,這些參數是您為訪問數據屬性而定義的參數和返回參數。
ADT定義:
ADT抽象數據類型名稱{
數據對象:(數據元素的集合)
數據關系:(數據關系二元組合)
基本操作:(操作功能列表)
} ADT抽象數據類型名稱;
這是壹個c定義ADT的程序段:
抽象數據類型的復數定義
ADT組合系統{
數據對象:d = {E1,E2 | E1,E2 ∈ Realset}
數據關系:r1 = {
基本操作:
init complex(& amp;z、v1、v2)
運算結果:構造壹個復數Z,其實部和虛部分別給定參數v1和v2的值。
破壞復合體(& ampz)
運算結果:復數Z被銷毀。
GetReal(Z & amp;realPart)
初始條件:復數已經存在。
運算結果:使用realPart返回復數z的實部值。
GetImag(Z & amp;ImagPart)
初始條件:復數已經存在。
運算結果:使用ImagPart返回復數z的虛部值。
add(z 1,z2,& amp孫)
初始條件:z1,z2為復數。
運算結果:sum用於返回兩個復數z1和z2的和。
} ADT復合體
比如最後壹個綜合體-》;add(z 1,z2,& amp孫),妳要完成的功能是:
復數*add(復數*pZ1,復數*pZ2)
{
復數*pSum =(復數*)malloc(sizeof(復數));
if(pSum = = NULL)
返回NULL
pSum-》;realpart = pz 1-& gt;realpart+pZ2-& gt;realpart
pSum-》;imag part = pz 1-& gt;imag part+pZ2-& gt;imagpart
返回pSum
}
這兩個參數是條目參數:Complex *pZ1,Complex *pZ2。
返回pSumPSum in是退出參數。
看,編寫ADT的函數可以大大提高人們的C語言水平,尤其是當您編寫鏈、堆棧和堆數據結構,並查找、刪除和插入它們時。所有可以使用的算法技巧都被實際使用了。