1. 程式人生 > >博客作業01-抽象數據類型

博客作業01-抽象數據類型

gpo 更改 中修改 運算 com 百度百科 高效 type 除法

一.作業題目

1.作業內容

ADT Rational{
    數據對象:D={e1,e2,e3,e4|e1,e2,e3,e4屬於ElemType類型}
    數據關系:R1={<e1,e2>,<e3,e4>}
    基本操作:
        InitRational(&T,v1,v2); //構造有理數T
        DestoryRational(&T) //銷毀有理數
        Get(T,i,&e) //返還分子或分母的值給e
        Put(&T,i,e) //修改分子或分母的值為e
        Add(T1,T2,&T3)  //T1 T2相加,結果存入T3 
        Sub(T1,T2,&T3)  //T1 T2相減,結果存入T3
        Mul(T1,T2,&T3)  //T1 T2相乘,結果存入T3
        Div(T1,T2,&T3)  //T1 T2相除,結果存入T3
} ADT Rational

2.數據結構、函數說明

頭文件Rational.h
技術分享圖片

3.代碼實現說明

1.構造有理數T,元素e1,e2分別被賦以分子、分母值
技術分享圖片
做法:動態申請空間,將兩個變量放入數組T中

2.銷毀有理數T
技術分享圖片

3.用e(引用類型參數)返回有理數T的分子或分母,當入參i為1時返回分子, i為2是返回分母。
技術分享圖片
做法:形參中e前用&,直接在函數中修改e的值

4.將有理數T的分子或分母更改為e,入參i為1時改變分子, i為2是改變分母
技術分享圖片
做法:形參中有理數T前用&,直接在函數中修改有理數T的值

5.有理數T1,T2相加,結果存入有理數T3
技術分享圖片
做法:形參中有理數T3前用&,在函數中修改T3的值,先直接兩分母通分相加,再約分。減法、乘法、除法做法與加法類似。

6.有理數T1,T2相減,結果存入有理數T3
技術分享圖片

7.有理數T1,T2相乘,結果存入有理數T3
技術分享圖片

8.有理數T1,T2相除,結果存入有理數T3
技術分享圖片

9.約分函數:
技術分享圖片

4.代碼互評

互評同學:朱傑偉
我的代碼截圖:
技術分享圖片
技術分享圖片

朱傑偉代碼截圖:
技術分享圖片
技術分享圖片

不同點:傑偉在構造有理數時,用了結構體,他構造時直接傳了結構體指針參數,而我將兩個整形變量傳過去。在進行加減乘除運算時,我用了&T3,傑偉將T3定義為指針直接傳參;約分時,我直接在函數裏取絕對值,而傑偉討論了正負號;我的輸出寫在main函數裏,傑偉的輸出寫在功能函數裏,而且傑偉對結果的輸出分類的更到位。

5.結果展示

正常測試數據
技術分享圖片

錯誤提示:
技術分享圖片

6.總結

  • 百度百科:數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。
  • 抽象數據類型是自定義的數據類型,就像整形、浮點型一樣,它可以包含多個相同或不同的數據類型,比如一個人的信息,包含名字、性別、出生地、生日之類,將這些分裝在一個抽象數據類型裏就能直接進行使用,操作起來更加方便。

博客作業01-抽象數據類型