數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算

ID:12459519

大?。?79.50 KB

頁(yè)數(shù):15頁(yè)

時(shí)間:2018-07-17

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算_第5頁(yè)
資源描述:

《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----集合的并、交和差運(yùn)算》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、實(shí)習(xí)報(bào)告題目:編制一個(gè)演示集合的并、交和差運(yùn)算的程序班級(jí):95001姓名張三學(xué)號(hào):9500101完成日期:2008-6-16一、需求分析1.本程序中,集合的元素限定為小寫(xiě)字母字符['a'..'z'],集合的大小n<27。集合輸入的形式為一個(gè)以"回車(chē)符"為結(jié)束標(biāo)志的字符串,串中字符順序不限,且允許出現(xiàn)重復(fù)字符或非法字符,程序應(yīng)能自動(dòng)濾去。輸出的運(yùn)算結(jié)果字符串中將不含重復(fù)字符或非法字符。2.演示程序以用戶與計(jì)算機(jī)交互方式執(zhí)行,即在計(jì)算機(jī)終端上顯示"提示信息"之后,由用戶在鍵盤(pán)上輸入演示程序中規(guī)定的運(yùn)算命令;相應(yīng)的輸入數(shù)據(jù)(濾去輸入中的非法字符)和運(yùn)算結(jié)果顯示在其后。

2、3.程序執(zhí)行的命令包括:(1)[1]—createset1//構(gòu)造集合1;(2)2—crea[t]eset2//構(gòu)造集合2;(3)求并集;(4)求交集;(5)求差集;(6)結(jié)束。構(gòu)造集合1和構(gòu)造集合2時(shí),需以字符串的形式鍵入集合元素。4.測(cè)試數(shù)據(jù)(1)Setl="magazine",Set2="paper",SetlèSet2="egimnprz",Setl?Set2="ae",Setl-Set2="gimnz"(2)Setl="0120per4a6tion89",Set2="errordata",SetlèSet2="deinoprt",Setl?set2="

3、aeort",Setl-Set2="inp"二、概要設(shè)計(jì)為實(shí)現(xiàn)上述程序功能,應(yīng)以有序鏈表表示集合。為此,需要兩個(gè)抽象數(shù)據(jù)類(lèi)型:有序表和集合。1.有序表的抽象數(shù)據(jù)類(lèi)型定義為:ADTOrderedList{數(shù)據(jù)對(duì)象:D={ai

4、ai?CharSet,i=1,2,...,n,n30}數(shù)據(jù)關(guān)系:Rl={

5、ai-1,ai?D,ai-1

6、。操作結(jié)果:返回有序表L的長(zhǎng)度。ListEmpty(L)初始條件:有序表L已存在。操作結(jié)果:若有序表L為空表,則返回True,否則返回False。GetElem(L,pos)初始條件:有序表L已存在。操作結(jié)果:若1£pos£Length(L),則返回表中第pos個(gè)數(shù)據(jù)元素。LocateElem(L,e,&q)初始條件:有序表L已存在。操作結(jié)果:若有序表L中存在元素e,則q指示L中第一個(gè)值為e的元素的位置,并返回函數(shù)值TRUE,否則q指示第一個(gè)大于e的元素的前驅(qū)的位置,并返回函數(shù)值FALSE。Append(&L,e)初始條件:有序表L已存在。操作結(jié)果:在有序表L的

7、未尾插入元素e。InsertAfter(&L,q,e)初始條件:有序表L已存在,q指示L中一個(gè)元素。操作結(jié)果:在有序表L中q指示的元素之后插入元素e。ListTraverse(q,visit())初始條件:有序表L已存在,q指示L中一個(gè)元素。操作結(jié)果:依次對(duì)L中q指示的元素開(kāi)始的每個(gè)元素調(diào)用函數(shù)visit()。}ADTOrderedList2.集合的抽象數(shù)據(jù)類(lèi)型定義為:ADTSet{數(shù)據(jù)對(duì)象:D={ai

8、ai為小寫(xiě)英文字母且互不相同,i=l,2,...,n,0£n£26}數(shù)據(jù)關(guān)系:R1={}基本操作:Createset(&T,Str)初始條件:Str為字符串。操

9、作結(jié)果:生成一個(gè)由Str中小寫(xiě)字母構(gòu)成的集合T。Destroyset(&T)初始條件:集合T已存在。操作結(jié)果:銷(xiāo)毀集合T的結(jié)構(gòu)。Union(&T,SLS2)初始條件:集合S1和S2存在。操作結(jié)果:生成一個(gè)由Sl和S2的并集構(gòu)成的集合T。Intersection(&T,SLS2)初始條件:集合Sl和S2存在。操作結(jié)果:生成一個(gè)由Sl和S2的交集構(gòu)成的集合T。Difference(&T,S1,S2)初始條件:集合S1和S2存在。操作結(jié)果:生成一個(gè)由S1和S2的差集構(gòu)成的集合T。Printset(T)初始條件:集合T已存在。操作結(jié)果:按字母次序順序顯示集合T的全部元素

10、。}ADTSet3.本程序包含四個(gè)模塊1)主程序模塊voidmain(){初始化:do{接受命令;處理命令;}while("命令"!="退出")2)集合單元模塊實(shí)現(xiàn)集合的抽象數(shù)據(jù)類(lèi)型;3)有序表單元模塊實(shí)現(xiàn)有序表的抽象數(shù)據(jù)類(lèi)型;4)結(jié)點(diǎn)結(jié)構(gòu)單元模塊定義有序表的結(jié)點(diǎn)結(jié)構(gòu)。各模塊之間的調(diào)用關(guān)系如下:三、詳細(xì)設(shè)計(jì)1.元素類(lèi)型、結(jié)點(diǎn)類(lèi)型和指針類(lèi)型typedefcharElemType;/*元素類(lèi)型*/typedefstructNodeType{ElemTypedata;NodeType*next;}NodeType,LinkType;/*結(jié)點(diǎn)類(lèi)型,指針類(lèi)型*/statu

11、sMakeNode(Li

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。