數(shù)據(jù)結(jié)構(gòu)三元組項(xiàng)目報(bào)告_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)三元組項(xiàng)目報(bào)告_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)三元組項(xiàng)目報(bào)告_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)三元組項(xiàng)目報(bào)告_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 數(shù)據(jù)結(jié)構(gòu)項(xiàng)目報(bào)告 項(xiàng)目題目:三元組 項(xiàng)目成員: 日期:2012年4月1號(hào)1.題目與要求1.1問(wèn)題提出詳細(xì)敘述本項(xiàng)目所要實(shí)現(xiàn)的問(wèn)題是創(chuàng)建一個(gè)三元組并且實(shí)現(xiàn)一些有關(guān)三元組的操作。1.2 本項(xiàng)目涉及的知識(shí)點(diǎn) 指針,數(shù)值,函數(shù)的調(diào)用1.3功能要求1創(chuàng)建一個(gè)三元組并且給它們賦值。2如果三元組存在,把三元組釋放并且賦空。3根據(jù)給的一個(gè)位置,來(lái)找出三元組里面這個(gè)位置的值并且返回。4判斷三元組里面的值是否按遞增排列.5判斷三元組里面的值是否按遞減排列。6求三元組里面數(shù)值的最大值.7求

2、三元組里面數(shù)值的最小值。8根據(jù)給的一個(gè)位置,改變?nèi)M這個(gè)位置的值。2.功能設(shè)計(jì)2.1總體設(shè)計(jì)運(yùn)用函數(shù)調(diào)用的方式將整個(gè)程序連接起來(lái),使其變得完整,具體見(jiàn)代碼。2.2詳細(xì)設(shè)計(jì)本程序可分八個(gè)小模塊。第1個(gè)小模塊實(shí)現(xiàn)創(chuàng)建一個(gè)三元組并且給它們賦值;第2個(gè)小模塊實(shí)現(xiàn)如果三元組存在,把三元組釋放并且賦空;第3個(gè)小模塊實(shí)現(xiàn)根據(jù)給的一個(gè)位置,來(lái)找出三元組里面這個(gè)位置的值并且返回;第個(gè)4小模塊實(shí)現(xiàn)判斷三元組里面的值是否按遞增排列;第5個(gè)小模塊實(shí)現(xiàn)判斷三元組里面的值是否按遞減排列;第個(gè)6小模塊實(shí)現(xiàn)求三元組里面數(shù)值的最大值;第7個(gè)小模塊實(shí)現(xiàn)求三元組里面數(shù)值的最小值;第8個(gè)小模塊實(shí)現(xiàn)根據(jù)給的一個(gè)位置,改變?nèi)M這個(gè)位

3、置的值。模塊一:創(chuàng)建一個(gè)三元組并且給它們賦值,函數(shù)為Status InitTriplet(Triplet *T,ElemType v1,ElemType v2,ElemType v3)T是個(gè)整形二級(jí)指針,v1,v2,v3整形變量,通過(guò)(ElemType *)malloc(3*sizeof(ElemType)申請(qǐng)一個(gè)連續(xù)的空間給(*T),然后v1,v2,v3的值分別賦給它們。模塊二:如果三元組存在,把三元組釋放并且賦空,函數(shù)為Status DestroyTriplet(Triplet *T)T是個(gè)整形二級(jí)指針,如果(*T)存在,則通過(guò)free()把它釋放并且把它賦空。模塊三:根據(jù)給的一個(gè)位置,來(lái)

4、找出三元組里面這個(gè)位置的值并且返回,函數(shù)為Status Get(Triplet T,int i,ElemType *e)T是個(gè)整形二級(jí)指針,整形i表示那個(gè)位置,*e表示要返回i位置的值,把(*T)【i-1】賦給*e。模塊四:判斷三元組里面的值是否按遞增排列,函數(shù)為Status IsAscending(Triplet T)T是個(gè)整形二級(jí)指針,判斷它們一個(gè)是否比一個(gè)大。模塊五:判斷三元組里面的值是否按遞減排列,函數(shù)為Status IsDescending(Triplet T)T是個(gè)整形二級(jí)指針,判斷它們一個(gè)是否比一個(gè)小。模塊六:求三元組里面數(shù)值的最大值,函數(shù)為Status Max(Triplet

5、T,ElemType *e)T是個(gè)整形二級(jí)指針,*e是用來(lái)返回最大的值,通過(guò)一個(gè)一個(gè)的比較來(lái)實(shí)現(xiàn)模塊七:求三元組里面數(shù)值的最小值,函數(shù)為Status Min(Triplet T,ElemType *e)T是個(gè)整形二級(jí)指針,*e是用來(lái)返回最小的值,通過(guò)一個(gè)一個(gè)的比較來(lái)實(shí)現(xiàn)模塊八:根據(jù)給的一個(gè)位置,改變?nèi)M這個(gè)位置的值,函數(shù)為Status Put(Triplet T,int i,ElemType e)T是個(gè)整形二級(jí)指針,整形i表示那個(gè)位置,*e表示要賦值給i位置的值,把*e賦給(*T)【i-1】。3.項(xiàng)目總結(jié)與思考完成這個(gè)項(xiàng)目,讓我發(fā)現(xiàn)自己很容易犯一些小錯(cuò)誤,例如用一個(gè)指針表示它所指向的值,容易

6、丟失*,通過(guò)這項(xiàng)目讓我了解二級(jí)指針的使用。 源程序如下:#include #include #include #define OVERFLOW -2#define OK 1#define ERROR 0typedef int Status;typedef int ElemType;typedef int *Triplet;Status InitTriplet(Triplet *T,ElemType v1,ElemType v2,ElemType v3) (*T)=(ElemType *)malloc(3*sizeof(ElemType); if(!(*T) exit(OVERFLOW); (*

7、T)0=v1;(*T)1=v2;(*T)2=v3; return OK;Status DestroyTriplet(Triplet *T) free(*T); (*T)=NULL; return OK;Status Get(Triplet T,int i,ElemType *e) if(i3) return ERROR; *e=Ti-1; return OK;Status Put(Triplet T,int i,ElemType e) if(i3) return ERROR; Ti-1=e; return OK;Status IsAscending(Triplet T) return(T0=T

8、1)&(T1=T1)&(T1=T2);Status Max(Triplet T,ElemType *e) *e=(T0=T1)?(T0=T2)?T0:T2):(T1=T2)?T1:T2); return OK;Status Min(Triplet T,ElemType *e) *e=(T0=T1)?(T0=T2)?T0:T2):(T1=T2)?T1:T2); return OK;int main() Triplet A; ElemType e,t,k,j,i; InitTriplet(&A,1,2,3); Get(A,2,&e); printf(%dn,e); Put(A,2,4); printf(%dn,A1); t=IsAscending(A); pr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論