資源描述:
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--集合的并、交和差運算》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、課程設(shè)計報告課程名稱數(shù)據(jù)結(jié)構(gòu)課題名稱集合的并、交和差運算專業(yè)通信工程班級通信1101學(xué)號201103020127姓名皮鋒指導(dǎo)教師張鏖烽田娟秀李杰君2013年6月29日湖南工程學(xué)院課程設(shè)計任務(wù)書課程名稱數(shù)據(jù)結(jié)構(gòu)課題集合的并、交和差運算專業(yè)班級通信1101學(xué)生姓名皮鋒學(xué)號201103020127指導(dǎo)老師張鏖烽田娟秀李杰君審批任務(wù)書下達(dá)日期2013年6月23日任務(wù)完成日期2013年6月29日目錄1.需求分析11.1.問題描述11.2.基本要求11.3.測試數(shù)據(jù)11.4.實現(xiàn)提示12.概要設(shè)計12.1.有序表的抽象數(shù)據(jù)類型定義為12.2.集合的定義為12.3.基本操作22.4.調(diào)用關(guān)
2、系23.詳細(xì)設(shè)計43.1.具體算法流程43.2.具體的程序功能實現(xiàn)43.3.偽碼算法54.調(diào)試分析94.1.調(diào)試過程中遇到的問題94.2.算法的時空分析95.用戶使用說明106.測試結(jié)果116.1.做完一次運算后按回車鍵繼續(xù)下一次運算116.2.做完運算后輸入字母“e”退出運算127.總結(jié)128.附錄138.1.程序源代碼13集合的并、交和差運算1.需求分析1.1.問題描述編制一個能演示執(zhí)行集合的并、交和差運算的程序。1.2.基本要求(1)集合的元素限定為小寫字母字符[‘a(chǎn)’..’z’]。(2)演示程序以用戶和計算機(jī)的對話方式執(zhí)行。1.3.測試數(shù)據(jù)(1)Set1="magaz
3、ine",Set2="paper",Set1∪Set2="aegimnprz",Setl∩Set2="ae",Set1-Set2="gimnz"。(2)Set1="012oper4a6tion89",Set2="errordata",Set1∪Set2="adeinoprt",Setl∩Set2="aeort",Set1-Set2="inp"。1.4.實現(xiàn)提示以有序鏈表表示集合。2.概要設(shè)計為實現(xiàn)上述程序功能,應(yīng)以有序鏈表表示集合。為此,需要兩個抽象數(shù)據(jù)類型:有序表和集合。2.1.有序表的抽象數(shù)據(jù)類型定義為typedefstructLNode{chardata;structL
4、Node*next;}LinkList;2.2.集合的定義為charset1[maxsize],set2[maxsize];201.1.基本操作voidGreatListR(LinkList*&L,chara[],intn)//尾插法建表voidInitList(LinkList*&L)//初始化線性表voidDestroyList(LinkList*&L)//銷毀線性表voidDispList(LinkList*L)//輸出線性表voidsort(LinkList*&L)//元素排序voidbingji(LinkList*L,LinkList*N,LinkList*&M)/
5、/并集運算voiddels(LinkList*&M)//刪除相同元素僅留一個voidjiaoji(LinkList*&M,LinkList*L,LinkList*N)//交集運算voidchayunsuan(LinkList*L,LinkList*M,LinkList*&K)//集合差運算intmain()//為設(shè)計程序主頁面的函數(shù),并且使用了所有的函數(shù)1.2.調(diào)用關(guān)系InitList(L);InitList(N);GreatListR(L,set1,i);GreatListR(U,set1,i);sort(U);//元素排序dels(U);//刪除相同元素僅留一個sort(
6、L);//元素排序dels(L);//刪除相同元素僅留一個printf("請輸入集合set2=");for(j=0;j7、t(K);charn;printf("是否退出運算?");scanf("%c",&n);if(n=='e')exit(0);DestroyList(L);DestroyList(N);DestroyList(U);DestroyList(M);DestroyList(K);system("PAUSE");201.詳細(xì)設(shè)計1.1.具體算法流程圖3-1具體算法流程1.2.具體的程序功能實現(xiàn)(1)利用c++引用類型,對線性表LinkList*L,*N進(jìn)行初始化,并用for循環(huán)將將集合set1[maxs