資料結構 抽象資料型別的表示與實現

2021-09-26 09:10:48 字數 3069 閱讀 3577

c1.h:

#ifndef __c1_h

//#define __c1_h

頭檔名)

#include

//字串函式標頭檔案

#include

//字元函式標頭檔案

#include

//malloc()等

#include

//int_max等

#include

//標準輸入輸出標頭檔案,包括eof( = ^z 或f6),null等

#include

//atoi(), exit()

#include

//eof()

#include

//數學函式標頭檔案,包括floor(), ceil(), abs()等

#include

//ftime()

#include

//提供巨集va_start, va_arg, va_end,用於訪問變長參數列

//函式結果狀態**。在嚴書第十頁

#define ture 1

#define false 0

#define ok 1

#define error 0

//#define infesible -1

//#define overflow -2 因為在math.h中已定義overflow的值為3,故去掉此行

typedef

int status;

//status是函式的;型別其值是函式結果狀態**,如ok等

typedef

int boolean;

//boolean是布林型別,其值是true或false,第7、8、9章用到

typedef

int elemtype;

#endif

// !__c1_h

#pragma once

bo1.h:

#ifndef bo1-1_h

//#define bo1-1_h

#include

"c1.h"

#include

"c1-1.h"

抽象資料型別triplet和elemtype(由c1-1.h定義)的基本操作(8個)

status inittriplet

(triplet &t, elemtype v1, elemtype v2, elemtype v3)

status destroytriplet

(triplet &t)

status get

(triplet t,

int i, elemtype &e)

status put

(triplet t,

int i, elemtype e)

status isascending

(triplet t)

status isdescending

(triplet t)

status max

(triplet t, elemtype &e)

status min

(triplet t, elemtype &e)

#endif

// !bo1-1_h

#pragma once

func-1.h:

#ifndef func-1_h

//#define func-1_h

#include

"c1.h"

#include

"c1-1.h"

void

printe

(elemtype e)

//輸出元素的值

void

printt

(triplet t)

#endif

// !fun-1_h

#pragma once

c1-1.h:

#ifndef c1-1_h

//#define c1-1_h

#include

"c1.h"

採用動態分配的順序儲存結構。

typedef elemtype * triplet;

//由inittriplet分配3個元素儲存空間

//triplet 型別是elemtype型別的指標,存放elemtype型別的位址

#endif

// !c1-1_h

#pragma once

main1.h:

// 抽象資料型別的表示與實現.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

"c1.h"

#include

"c1-1.h"

#include

"func1-1.h"

#include

"bo1-1.h"

intmain()

i =put(t,2,

6);if

(i == ok)

i =isascending

(t);

printf

("呼叫測試公升序的函式後,i = %d(1:是 0:否)\n"

, i)

; i =

isdescending

(t);

printf

("呼叫測試降序的函式後,i = %d(1:是 0:否)\n"

, i);if

((i =

max(t, m)

)== ok)if(

(i =

min(t, m)

)== ok)

destroytriplet

(t);

//函式也可以不帶返回值

printf

("銷毀t後,t= %u\n"

, t)

;return0;

}

資料結構 抽象資料型別 ADT 的表示與實現

1.adt描述 抽象資料型別 abstract data type,adt 是指乙個數學模型以及定義在該模型上的一組操作。adt 抽象資料型別名adt 抽象資料型別名 其中,資料物件和資料關係的定義用偽 描述,基本操作的定義格式為 基本操作名 參數列 基本操作有兩種引數 賦值引數只為操作提供輸入值 ...

資料結構 抽象資料型別

stdafx.h include include include include include include cout,cin 函式結果狀態碼 define true 1 define false 0 define ok 1 define error 0 define infeasible 1 ...

資料結構 抽象資料型別

題記 先捂上眼睛,不想演算法,不想怎麼計算時間複雜度,先刷刷 單純 的資料結構 抽象資料型別 abstract data type 抽象資料型別的定義可以由一種資料結構和定義在其上的一組操作組成,資料結構又包括資料元素以及元素之間的關係。因此抽象資料元素型別一般由元素 關係及操作三種元素來定義。d,...