c語言的抽象資料型別(ADT)

2022-03-15 04:27:35 字數 622 閱讀 3475

定義:抽象資料型(adt)是乙個資料型別,其資料物件和物件上操作的規格說明獨立於物件的儲存表示和物件上的操作的實現。

有些程式語言提供了把規格說明與其實現區分開的顯示機制。例如,ada有稱為包(package)的概念,而c++中有稱為類(class)的概念。這兩個概念都有助於程式設計師實現抽象資料型別。雖然c語言沒有提供顯示的機制來實現adt,但是可以利用抽象資料型的概念來設計新的資料型別。

抽象資料型上操作的規格說明與操作實現存在怎樣的區別呢?操作的規格說明由各個函式的名稱,每個函式的引數型別以及返回的結果型別構成。還應該包括函式的功能描述,但不涉及函式的機內儲存表示或實現細節。這個要求是很重要的,它表明抽象資料型是獨立於實現的。另外,可以把資料型別中的函式分為幾種型別:

(1)生成器/構造器:這些函式將建立乙個指定資料型別的例項。

(2)轉換器:這些函式也建立乙個指定型別的例項,但通常是要使用乙個或多個其他例項。構造器和轉換器之間的區別用一些例項類說明將會更加清楚。

(3)觀察器/報告器:這些函式提供某種型別的例項資訊,但並不改變改例項。通常情況下,乙個抽象資料型的定義,至少包括上述三種型別函式中的乙個。

抽象資料型別(ADT

說到抽象資料型別,那麼就得先提到資料型別 資料型別指的是乙個值的集合以及定義在這個集合上的一組操作 為什麼要有不同的資料型別呢 當我們計算1 1的時候,只需要很小的儲存空間,但是當我們去計算10000 100000的時候,所需要的空間就會大許多,那麼我們為了去區分這些類別的差異,就有了不同的資料型別...

抽象資料型別(ADT

說到抽象資料型別,那麼就得先提到資料型別 資料型別指的是乙個值的集合以及定義在這個集合上的一組操作 為什麼要有不同的資料型別呢 當我們計算1 1的時候,只需要很小的儲存空間,但是當我們去計算10000 100000的時候,所需要的空間就會大許多,那麼我們為了去區分這些類別的差異,就有了不同的資料型別...

C語言實現抽象資料型別(ADT

c c 有固有資料型別,比如int,float,double。int a 就宣告且定義出乙個int型變數 或者叫資料物件 但光有這些固有的資料型別不能滿足程式設計的可讀 可復用 可維護性的要求。比如想要處理乙個現實中 學生小明 的物件,如果能有乙個名叫 student 的 學生 型別 好比 int ...