




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)1(5篇)在日常學(xué)習(xí)、工作或生活中,大家總少不了接觸作文或者范文吧,通過(guò)文章可以把我們那些零零散散的思想,聚集在一塊。那么我們?cè)撊绾螌?xiě)一篇較為完美的范文呢?以下是我為大家收集的優(yōu)秀范文,歡迎大家共享閱讀。
multi_set金陵科技學(xué)院試驗(yàn)報(bào)告
loc=i;for(i=;i=loc;i--)[i+1]=[i];[loc]=x;++;}voiddelete_x(intx){inti,j,found=0;for(i=0;i=;i++)if(x==[i]){found=1;for(j=i+1;j=;j++)[j-1]=[j];i--;--;}if(found==0)printf(“xisnotfoundn〞);else{printf(“xisdeletedn〞);printf(“thelistafterdeletionis:n〞);print_list();
金陵科技學(xué)院試驗(yàn)報(bào)告
}}
voidmain(){intx,choice;while(1){printf(“**********menu**********n〞);printf(“1--printn〞);printf(“2--searchn〞);printf(“3--insertn〞);printf(“4--deleten〞);printf(“5--exitn〞);printf(“pleaseinputyourchoice:〞);scanf(“%d〞,choice);
switch(choice){case1:printf(“theoriginallistis:n〞);print_list();break;case2:printf(“plsinputxyouwanttosearch:n〞);
金陵科技學(xué)院試驗(yàn)報(bào)告
scanf(“%d〞,x);find_all_x(x);break;case3:printf(“plsinputxyouwanttoinsert:n〞);scanf(“%d〞,x);insert_x(x);printf(“thelistafterinsertionis:n〞);print_list();break;case4:printf(“plsinputxyouwanttodelete:n〞);scanf(“%d〞,x);delete_x(x);printf(“thelistafterdeletionis:n〞);print_list();break;case5:exit(0);}}}
金陵科技學(xué)院試驗(yàn)報(bào)告
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):?jiǎn)捂湵碓囼?yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)2單鏈表
一、試驗(yàn)?zāi)康暮鸵?/p>
1、試驗(yàn)?zāi)康?/p>
把握單鏈表的定位、插入、刪除等操作。
2、試驗(yàn)要求
(1)注意鏈表的空間是動(dòng)態(tài)分派的,某結(jié)點(diǎn)不用之后要及時(shí)進(jìn)行物理刪除,以便釋放其內(nèi)存空間。
(2)鏈表不能實(shí)現(xiàn)直接定位,一定注意指針的保存,防止丟失。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
(1)編寫(xiě)程序建立一個(gè)單鏈表,并逐個(gè)輸出單鏈表中所有數(shù)據(jù)元素。(2)在遞增有序的單鏈表中插入一個(gè)新結(jié)點(diǎn)x,保持單鏈表的有序性。
解題思路:首先查找插入的位置然后進(jìn)行插入操作;從第一個(gè)結(jié)點(diǎn)開(kāi)始找到第一個(gè)大于該新結(jié)點(diǎn)值的結(jié)點(diǎn)即為插入位置;然后在找到的此結(jié)點(diǎn)之前插入新結(jié)點(diǎn);注意保存插入位置之前結(jié)點(diǎn)的指針才能完成插入操作。
(3)編寫(xiě)實(shí)現(xiàn)帶頭結(jié)點(diǎn)單鏈表就地逆置的子函數(shù),并編寫(xiě)主函數(shù)測(cè)試結(jié)果。
2、選做題
已知指針la和lb分別指向兩個(gè)無(wú)頭結(jié)點(diǎn)單鏈表的首元結(jié)點(diǎn)。要求編一算法實(shí)現(xiàn),從表la中刪除自第i個(gè)元素起共len個(gè)元素后,將它們插入到表lb中第j個(gè)元素之前。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):堆棧和隊(duì)列試驗(yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)3堆棧和隊(duì)列
一、試驗(yàn)?zāi)康暮鸵?/p>
(1)把握應(yīng)用棧解決問(wèn)題的方法。(2)把握利用棧進(jìn)行表達(dá)式求和的算法。
(3)把握隊(duì)列的存儲(chǔ)結(jié)構(gòu)及基本操作實(shí)現(xiàn),并能在相應(yīng)的應(yīng)用問(wèn)題中正確選用它們。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
(1)判斷一個(gè)算術(shù)表達(dá)式中開(kāi)括號(hào)和閉括號(hào)是否配對(duì)。(2)測(cè)試“漢諾塔〞問(wèn)題。
(3)假設(shè)稱(chēng)正讀和反讀都一致的字符序列為〞回文〞,試寫(xiě)一個(gè)算法判別讀入的一個(gè)以’@’為終止符的字符序列是否是“回文〞。
2、選做題
在順序存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)輸出受限的雙端循環(huán)隊(duì)列的入列和出列算法。設(shè)每個(gè)元素表示一個(gè)待處理的作業(yè),元素值表示作業(yè)的預(yù)計(jì)時(shí)間。入隊(duì)列采取簡(jiǎn)化的短作業(yè)優(yōu)先原則,若一個(gè)新提交的作業(yè)的預(yù)計(jì)執(zhí)行時(shí)間小于隊(duì)頭和隊(duì)尾作業(yè)的平均時(shí)間,則插入在隊(duì)頭,否則插入在隊(duì)尾。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
金陵科技學(xué)院試驗(yàn)報(bào)告
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):串試驗(yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)4串
一、試驗(yàn)?zāi)康暮鸵?/p>
把握串的存儲(chǔ)及應(yīng)用。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
(1)編寫(xiě)輸出字符串s中值等于字符ch的第一個(gè)字符的函數(shù),并用主函數(shù)測(cè)試結(jié)果。
(2)編寫(xiě)輸出字符串s中值等于字符ch的所有字符的函數(shù),并用主函數(shù)測(cè)試結(jié)果。
解題思路:可以將第一題程序改進(jìn)成一個(gè)子函數(shù),在此題中循環(huán)調(diào)用。(3)設(shè)字符串采用單字符的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),編程刪除串s從位置i開(kāi)始長(zhǎng)度為k的子串。
2、選做題
假設(shè)以鏈結(jié)構(gòu)表示串,編寫(xiě)算法實(shí)現(xiàn)將串s插入到串t中某個(gè)字符之后,若串t中不存在這個(gè)字符,則將串s聯(lián)接在串t的末尾。
提醒:為提高程序的通用性,插入位置字符應(yīng)設(shè)計(jì)為從鍵盤(pán)輸入。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
金陵科技學(xué)院試驗(yàn)報(bào)告
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):二叉樹(shù)試驗(yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)5二叉樹(shù)
一、試驗(yàn)?zāi)康暮鸵?/p>
(1)把握二叉樹(shù)的生成,以及前、中、后序遍歷算法。(2)把握應(yīng)用二叉樹(shù)遞歸遍歷思想解決問(wèn)題的方法。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
(1)建立一棵二叉樹(shù)。對(duì)此樹(shù)進(jìn)行前序遍歷、中序遍歷及后序遍歷,輸出遍歷序列。
(2)在第一題基礎(chǔ)上,求二叉樹(shù)中葉結(jié)點(diǎn)的個(gè)數(shù)。(3)在第一題基礎(chǔ)上,求二叉樹(shù)中結(jié)點(diǎn)總數(shù)。(4)在第一題基礎(chǔ)上,求二叉樹(shù)的深度。
2、選做題
已知一棵完全二叉樹(shù)存于順序表sa中,[1…]存儲(chǔ)結(jié)點(diǎn)的值。試編寫(xiě)算法由此順序存儲(chǔ)結(jié)構(gòu)建立該二叉樹(shù)的二叉鏈表。
解題思路:根據(jù)完全二叉樹(shù)順序存儲(chǔ)的性質(zhì)來(lái)確定二叉樹(shù)的父子關(guān)系即“還原〞了二叉樹(shù),之后再依照二叉樹(shù)二叉鏈表的構(gòu)造方法進(jìn)行建立。完全二叉樹(shù)順序存儲(chǔ)的一個(gè)重要性質(zhì)為,第i個(gè)結(jié)點(diǎn)的左孩子是編號(hào)為2i的結(jié)點(diǎn),第i個(gè)結(jié)點(diǎn)的右孩子是編號(hào)為2i+1的結(jié)點(diǎn)。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
金陵科技學(xué)院試驗(yàn)報(bào)告
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):圖試驗(yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)6圖
一、試驗(yàn)?zāi)康暮鸵?/p>
(1)熟練把握?qǐng)D的基本概念、構(gòu)造及其存儲(chǔ)結(jié)構(gòu)。
(2)熟練把握對(duì)圖的深度優(yōu)先探尋遍歷和廣度優(yōu)先探尋遍歷的算法。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
(1)構(gòu)造一個(gè)無(wú)向圖(用鄰接矩陣表示存儲(chǔ)結(jié)構(gòu))。
(2)對(duì)上面所構(gòu)造的無(wú)向圖,進(jìn)行深度優(yōu)先遍歷和廣度優(yōu)先遍歷,輸出遍歷序列。
2、選做題
采用鄰接表存儲(chǔ)結(jié)構(gòu),編寫(xiě)一個(gè)判別無(wú)向圖中任意給定的兩個(gè)頂點(diǎn)之間是否存在一條長(zhǎng)度為k的簡(jiǎn)單路徑的算法。簡(jiǎn)單路徑是指其頂點(diǎn)序列中不含有重復(fù)頂點(diǎn)的路徑。提醒:兩個(gè)頂點(diǎn)及k值均作為參數(shù)給出。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):排序試驗(yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)7排序
一、試驗(yàn)?zāi)康暮鸵?/p>
(1)熟練把握希爾排序、堆排序、直接插入排序、起泡排序、快速排序、直接選擇排序、歸并排序和基數(shù)排序的基本概念。
(2)把握以上各種排序的算法。區(qū)分以上不同排序的優(yōu)、缺點(diǎn)。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
用隨機(jī)數(shù)產(chǎn)生100000個(gè)待排序數(shù)據(jù)元素的關(guān)鍵字值。測(cè)試以下各排序函數(shù)的機(jī)器實(shí)際執(zhí)行時(shí)間(至少測(cè)試兩個(gè)):直接插入排序、希爾排序(增量為4,2,1)、冒泡排序、快速排序、直接選擇排序、堆排序。
2、選做題
假設(shè)含n個(gè)記錄的序列中,其所有關(guān)鍵字為值介于v和w之間的整數(shù),且其中好多關(guān)鍵字的值是一致的。則可按如下方法排序:另設(shè)數(shù)組number[v…w],令number[i]統(tǒng)計(jì)關(guān)鍵字為整數(shù)i的紀(jì)錄個(gè)數(shù),然后按number重排序列以達(dá)到有序。試編寫(xiě)算法實(shí)現(xiàn)上述排序方法,并探討此種方法的優(yōu)缺點(diǎn)。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
金陵科技學(xué)院試驗(yàn)報(bào)告
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)項(xiàng)目名稱(chēng):查找試驗(yàn)學(xué)時(shí):2同組學(xué)生姓名:試驗(yàn)地點(diǎn):試驗(yàn)日期:試驗(yàn)成績(jī):批改教師:批改時(shí)間:
金陵科技學(xué)院試驗(yàn)報(bào)告
試驗(yàn)8查找
一、試驗(yàn)?zāi)康暮鸵?/p>
(1)把握順序表查找、有序表查找、索引順序表查找的各種算法。(2)把握哈希表設(shè)計(jì)。
二、試驗(yàn)儀器和設(shè)備
turboc2.0/visualc++
三、試驗(yàn)內(nèi)容與過(guò)程(含程序清單及流程圖)
1、必做題
(1)在一個(gè)遞增有序的線(xiàn)性表中利用二分查找法查找數(shù)據(jù)元素x。
2、選做題
(2)構(gòu)造一個(gè)哈希表,哈希函數(shù)采用除留余數(shù)法,哈希沖突解決方法采用鏈地址法。設(shè)計(jì)一個(gè)測(cè)試程序進(jìn)行測(cè)試。
提醒:構(gòu)造哈希表只是完成查找的第一步,大家應(yīng)當(dāng)把握在哈希表上進(jìn)行查找的過(guò)程,可以試著編程序?qū)崿F(xiàn)。程序清單:
金陵科技學(xué)院試驗(yàn)報(bào)告
四、試驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)
五、試驗(yàn)體會(huì)(遇到問(wèn)題及解決方法,編程后的心得體會(huì))
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)1篇四
石家莊鐵道大學(xué)
實(shí)驗(yàn)任務(wù)書(shū)
課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)試驗(yàn)學(xué)時(shí):8適用專(zhuān)業(yè):自動(dòng)化類(lèi)專(zhuān)業(yè)開(kāi)設(shè)學(xué)院:電氣與電子工程學(xué)院
石家莊鐵道大學(xué)
14學(xué)年—15學(xué)年第2學(xué)期數(shù)據(jù)結(jié)構(gòu)試驗(yàn)任務(wù)書(shū)
專(zhuān)業(yè)名稱(chēng):試驗(yàn)學(xué)時(shí):2課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)任課教師:王明明試驗(yàn)題目:線(xiàn)性表的基本操作
試驗(yàn)環(huán)境:visualc++試驗(yàn)?zāi)康模?/p>
1、把握線(xiàn)性表的定義;
2、把握線(xiàn)性表的基本操作,如建立、查找、插入和刪除等。
試驗(yàn)內(nèi)容:
定義一個(gè)包含學(xué)生信息(學(xué)號(hào),姓名,成績(jī))的的順序表或鏈表,使其具有如下功能:(1)根據(jù)指定學(xué)生個(gè)數(shù),逐個(gè)輸入學(xué)生信息;(2)逐個(gè)顯示學(xué)生表中所有學(xué)生的相關(guān)信息;
(3)根據(jù)姓名進(jìn)行查找,返回此學(xué)生的學(xué)號(hào)和成績(jī);
(4)根據(jù)指定的位置可返回相應(yīng)的學(xué)生信息(學(xué)號(hào),姓名,成績(jī));(5)給定一個(gè)學(xué)生信息,插入到表中指定的位置;(6)刪除指定位置的學(xué)生記錄;(7)統(tǒng)計(jì)表中學(xué)生個(gè)數(shù)。
試驗(yàn)提醒:
學(xué)生信息的定義:typedefstruct{charno[8];//8位學(xué)號(hào)charname[20];//姓名intprice;//成績(jī)}student;
順序表的定義
typedefstruct{student*elem;//指向數(shù)據(jù)元素的基地址
intlength;//線(xiàn)性表的當(dāng)前長(zhǎng)度}sqlist;
鏈表的定義:
typedefstructlnode{studentdata;//數(shù)據(jù)域structlnode*next;//指針域}lnode,*linklist;
試驗(yàn)要求:
(1)程序要添加適當(dāng)?shù)慕忉專(zhuān)绦虻臅?shū)寫(xiě)要采用縮進(jìn)格式。
(2)程序要具在一定的頑強(qiáng)性,即當(dāng)輸入數(shù)據(jù)非法時(shí),程序也能適當(dāng)?shù)刈龀龇磻?yīng),如插入刪除時(shí)指定的位置不對(duì)等等。
(3)程序要做到界面友好,在程序運(yùn)行時(shí)用戶(hù)可以根據(jù)相應(yīng)的提醒信息進(jìn)行操作。(4)根據(jù)試驗(yàn)報(bào)告模板詳細(xì)書(shū)寫(xiě)試驗(yàn)報(bào)告,在試驗(yàn)報(bào)告中給出鏈表根據(jù)姓名進(jìn)行查找的算法和插入算法的流程圖。
石家莊鐵道大學(xué)
14學(xué)年—15學(xué)年第2學(xué)期數(shù)據(jù)結(jié)構(gòu)試驗(yàn)任務(wù)書(shū)
專(zhuān)業(yè)名稱(chēng):試驗(yàn)學(xué)時(shí):2課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)任課教師:李冬梅
試驗(yàn)題目:棧的應(yīng)用-算術(shù)表達(dá)式求值
試驗(yàn)環(huán)境:visualc++6.0試驗(yàn)?zāi)康模?/p>
1.把握棧的定義及實(shí)現(xiàn);
2.把握利用棧求解算術(shù)表達(dá)式的方法。
試驗(yàn)內(nèi)容:
通過(guò)修改完善教材中的算法3.4,利用棧來(lái)實(shí)現(xiàn)算術(shù)表達(dá)式求值的算法。對(duì)算法3.4中調(diào)用的幾個(gè)函數(shù)要給出其實(shí)現(xiàn)過(guò)程:
(1)函數(shù)in(c):判斷c是否為運(yùn)算符;
(2)函數(shù)precede(t1,t2):判斷運(yùn)算符t1和t2的優(yōu)先級(jí);(3)函數(shù)operate(a,theta,b):對(duì)a和b進(jìn)行二元運(yùn)算theta。
程序運(yùn)行時(shí),輸入合法的算術(shù)表達(dá)式(中間值及最終結(jié)果要在0~9之間,可以包括加減乘除和括號(hào)),便可輸出相應(yīng)的計(jì)算結(jié)果。如下圖:
試驗(yàn)提醒:(僅供參考,每個(gè)函數(shù)的具體實(shí)現(xiàn)可以有多種方法,希望有創(chuàng)新)
1.將棧的定義和實(shí)現(xiàn)單獨(dú)保存在頭文件“stack.h〞中,中包含此頭文件(即#include“stack.h〞)。的具體實(shí)現(xiàn)(1)主函數(shù)如下:voidmain(){cout“請(qǐng)輸入算術(shù)表達(dá)式,并以#終止.〞(2)函數(shù)evaluateexpression的實(shí)現(xiàn)見(jiàn)算法3.10(3)函數(shù)in(c)的實(shí)現(xiàn)可以采用以下方式:
statusin(selemtypec)//應(yīng)在前面有定義typedefcharselemtype;{//判斷c是否為運(yùn)算符switch(c){case'+':returntrue;??//補(bǔ)充完整
default:returnfalse;}}(4)函數(shù)precede(t1,t2)的實(shí)現(xiàn)可以采用以下形式:selemtypeprecede(selemtypet1,selemtypet2){//根據(jù)教材表3.1,判斷兩個(gè)運(yùn)算符的優(yōu)先關(guān)系selemtypef;switch(t2){case'+':case'-':if(t1=='('||t1=='#')f='';elsef='';break;??//補(bǔ)充完整}returnf;}(5)函數(shù)operate(a,theta,b)的實(shí)現(xiàn)可以采用以下方式:
selemtypeoperate(selemtypea,selemtypetheta,selemtypeb){selemtypec;a=a-48;b=b-48;switch(theta){case'+':c=a+b+48;break;??//補(bǔ)充完整}returnc;}
選做內(nèi)容1:進(jìn)一步改進(jìn),使表達(dá)式的中間值及最終結(jié)果不局限于0~9之間的個(gè)位數(shù)。(如
果完成要在試驗(yàn)報(bào)告中注明),如下圖:
選做內(nèi)容2:
將表達(dá)式轉(zhuǎn)化成后綴表達(dá)式輸出,利用后綴表達(dá)式求表達(dá)式的值并輸出。
將中綴表達(dá)式轉(zhuǎn)化成后綴表達(dá)式存儲(chǔ)在隊(duì)列中,然后利用后綴表達(dá)式求表達(dá)式的值并輸出。
將中綴表達(dá)式轉(zhuǎn)化成后綴的思想:
(1)創(chuàng)立一空隊(duì)列,用來(lái)存放后綴表達(dá)式,建立并初始化操作符棧optr,將表達(dá)式起始符“#〞壓入optr棧。
(2)依次讀入表達(dá)式中每個(gè)字符ch,循環(huán)執(zhí)行(3)至(5),直至求出整個(gè)表達(dá)式轉(zhuǎn)換完畢。
(3)取出optr的棧頂元素,當(dāng)optr的棧頂元素和當(dāng)前讀入的字符ch均為“#〞時(shí),整個(gè)中綴表達(dá)式轉(zhuǎn)換完畢。
(4)若ch不是運(yùn)算符,則進(jìn)隊(duì),讀入下一字符ch。
(5)若ch是運(yùn)算符,則根據(jù)optr的棧頂元素和ch的優(yōu)先權(quán)比較結(jié)果,做不同的處理。
①若是小于,則ch壓入optr棧,讀入下一字符ch。②若是大于,則彈出optr棧頂?shù)倪\(yùn)算符,進(jìn)隊(duì)。③若是等于,則optr的棧頂元素是“(〞且ch是“)〞,這時(shí)彈出optr棧頂?shù)摹?〞,相當(dāng)于去掉括號(hào),然后讀入下一字符ch。對(duì)后綴表達(dá)式進(jìn)行計(jì)算的具體步驟為:
建立一個(gè)棧s從左到右讀后綴表達(dá)式,讀到數(shù)字就將它轉(zhuǎn)換為數(shù)值壓入棧s中,讀到運(yùn)算符則從棧中依次彈出兩個(gè)數(shù)分別到y(tǒng)和x,然后以“x運(yùn)算符y〞的形式計(jì)算出結(jié)果,再壓進(jìn)棧s中。假使后綴表達(dá)式未讀完,重復(fù)執(zhí)行上面過(guò)程,最終輸出棧頂?shù)臄?shù)值即可終止。
試驗(yàn)要求:
(1)程序要添加適當(dāng)?shù)慕忉專(zhuān)绦虻臅?shū)寫(xiě)要采用縮進(jìn)格式。
(2)程序要具在一定的頑強(qiáng)性,即當(dāng)輸入數(shù)據(jù)非法時(shí),程序也能適當(dāng)?shù)刈龀龇磻?yīng)。(3)程序要做到界面友好,在程序運(yùn)行時(shí)用戶(hù)可以根據(jù)相應(yīng)的提醒信息進(jìn)行操作。(4)根據(jù)試驗(yàn)報(bào)告模板詳細(xì)書(shū)寫(xiě)試驗(yàn)報(bào)告,在試驗(yàn)報(bào)告中給出表達(dá)式求值算法的流程圖。
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)1篇五
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)書(shū)
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)書(shū)
目錄
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)書(shū)1
目錄1試驗(yàn)指導(dǎo)書(shū)概述2上機(jī)試驗(yàn)題目3
試驗(yàn)一c語(yǔ)言相關(guān)知識(shí)復(fù)習(xí)3
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容3試驗(yàn)二單鏈表的插入、刪除3
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容3
三、實(shí)現(xiàn)提醒4試驗(yàn)三棧及其應(yīng)用5
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容5試驗(yàn)四二叉樹(shù)的遞歸算法6
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容6試驗(yàn)五圖的遍歷7
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容7試驗(yàn)六有序表的查找7
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容7試驗(yàn)七哈希表7
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容7試驗(yàn)八內(nèi)部排序算法的應(yīng)用8
一、試驗(yàn)?zāi)康?
二、試驗(yàn)內(nèi)容8
試驗(yàn)指導(dǎo)書(shū)概述
“數(shù)據(jù)結(jié)構(gòu)〞是計(jì)算機(jī)專(zhuān)業(yè)一門(mén)重要的專(zhuān)業(yè)技術(shù)基礎(chǔ)課程,是一門(mén)關(guān)鍵性核心課程。本課程系統(tǒng)地介紹了軟件設(shè)計(jì)中常用的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的存儲(chǔ)結(jié)構(gòu)和實(shí)現(xiàn)算法,介紹了多種常用的查找和排序技術(shù),并對(duì)其進(jìn)行了性能分析和比較,內(nèi)容十分豐富。本課程的學(xué)習(xí)將為后續(xù)課程的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ)。
由于以下原因,使得把握這門(mén)課程具有較大難度:內(nèi)容多,時(shí)間短,給學(xué)習(xí)帶來(lái)困難;
貫穿全書(shū)的動(dòng)態(tài)鏈表存儲(chǔ)結(jié)構(gòu)和遞歸技術(shù)是學(xué)習(xí)中的重點(diǎn)和難點(diǎn);隱含在各部分的技術(shù)和方法豐富,也是學(xué)習(xí)的重點(diǎn)和難點(diǎn);先修課程中所介紹的專(zhuān)業(yè)性知識(shí)不多,加大了學(xué)習(xí)難度。
由于數(shù)據(jù)結(jié)構(gòu)課程的技術(shù)性與實(shí)踐性,《數(shù)據(jù)結(jié)構(gòu)課程試驗(yàn)》的設(shè)置十分必要。為了幫助學(xué)生更好地學(xué)習(xí)本課程,理解和把握算法設(shè)計(jì)所需的技術(shù),為整個(gè)專(zhuān)業(yè)學(xué)習(xí)打好基礎(chǔ),要求運(yùn)用所學(xué)知識(shí),上機(jī)解決一些典型問(wèn)題,通過(guò)分析、設(shè)計(jì)、編碼、調(diào)試等各環(huán)節(jié)的訓(xùn)練,使學(xué)生深刻理解、穩(wěn)固把握所用到的一些技術(shù)。
上機(jī)實(shí)踐是對(duì)學(xué)生的一種全面綜合訓(xùn)練,是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。通過(guò)上機(jī)實(shí)踐,使學(xué)生在可能短的時(shí)間內(nèi)對(duì)數(shù)據(jù)結(jié)構(gòu)知識(shí)的實(shí)踐和應(yīng)用有一個(gè)比較全面和系統(tǒng)的認(rèn)識(shí),達(dá)到理論與實(shí)踐相結(jié)合的目的。
為了達(dá)到上述目的,本指導(dǎo)書(shū)安排了8個(gè)試驗(yàn)題目,它們與教科書(shū)的各章有緊湊的關(guān)系,使學(xué)生在試驗(yàn)后能加深對(duì)課程內(nèi)容的理解,加強(qiáng)動(dòng)手能力。
每個(gè)試驗(yàn)題目采取了統(tǒng)一的格式,由問(wèn)題描述、基本要求、測(cè)試數(shù)據(jù)、實(shí)現(xiàn)提醒等部分組成。
問(wèn)題描述旨在為讀者建立問(wèn)題提出的背景環(huán)境,指明問(wèn)題“是什么〞;
要求則對(duì)問(wèn)題進(jìn)一步求精,劃出問(wèn)題的邊界,指出具體的參量或前提條件,并規(guī)定該題的最低限度要求;
測(cè)試部分旨在為檢查學(xué)生上機(jī)作業(yè)提供便利,在完成實(shí)習(xí)題時(shí)應(yīng)自己設(shè)計(jì)完整和嚴(yán)格的測(cè)試方案,當(dāng)數(shù)據(jù)輸入量較大時(shí),提倡以文件形式向程序提供輸入數(shù)據(jù);
實(shí)現(xiàn)提醒對(duì)實(shí)現(xiàn)中的難點(diǎn)及其解法思路等問(wèn)題作了簡(jiǎn)要提醒,個(gè)別問(wèn)題給出了參考實(shí)現(xiàn)。
下面帶*的題目為選做題目。
上機(jī)試驗(yàn)題目
試驗(yàn)一c語(yǔ)言相關(guān)知識(shí)復(fù)習(xí)
一、試驗(yàn)?zāi)康?/p>
復(fù)習(xí)c語(yǔ)言中函數(shù)、數(shù)組、結(jié)構(gòu)體、文件等概念,把握它們的描述與操作方法;熟悉把握c++中typedef、引用參數(shù)調(diào)用()的概念及使用方法,為理解數(shù)據(jù)結(jié)構(gòu)課程的后續(xù)內(nèi)容以及算法書(shū)寫(xiě)奠定基礎(chǔ)。
二、試驗(yàn)內(nèi)容問(wèn)題描述:編寫(xiě)一個(gè)函數(shù),求一個(gè)整數(shù)數(shù)組中的最大、最小值。
要求:在函數(shù)聲明中采用引用參數(shù)傳遞方式實(shí)現(xiàn)最大、最小值的返回。測(cè)試:在主函數(shù)中輸入10個(gè)數(shù),調(diào)用此函數(shù),打印輸出最大和最小值。2關(guān)于指針的使用:
用malloc方式分別申請(qǐng)兩個(gè)指針,并實(shí)現(xiàn)兩個(gè)指針內(nèi)容的比較大小操作。要求:此功能在一個(gè)函數(shù)內(nèi)實(shí)現(xiàn),該函數(shù)接受兩個(gè)整數(shù)值,存儲(chǔ)到兩個(gè)指針內(nèi)容中,輸出兩者中的最大值。
測(cè)試:從主函數(shù)中輸入兩個(gè)數(shù),調(diào)用該函數(shù),打印輸出交換后的值。
試驗(yàn)二單鏈表的插入、刪除
一、試驗(yàn)?zāi)康?/p>
1、熟悉某種數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)上實(shí)現(xiàn)的方法。
2、把握單鏈表的定義、創(chuàng)立、插入、刪除、遍歷等基本操作的實(shí)現(xiàn)。
3、體會(huì)單鏈表操作、有序表插入、刪除的一般方法。
二、試驗(yàn)內(nèi)容
問(wèn)題描述:已知遞增有序的單鏈表a,編寫(xiě)算法實(shí)現(xiàn)向a中插入或刪除一個(gè)元素,并保持a的有序性。
試驗(yàn)要求:
1、結(jié)點(diǎn)的數(shù)據(jù)均為整型。
2、若表中已經(jīng)存在此元素,則不插入
三、實(shí)現(xiàn)提醒
1.在已知的線(xiàn)性表中插入或刪除,需要下面的輔助函數(shù):線(xiàn)性表的創(chuàng)立、線(xiàn)性表的遍歷
2.在單鏈表表中插入或刪除,需依次實(shí)現(xiàn):
a)單鏈表結(jié)構(gòu)的定義
b)單鏈表的創(chuàng)立(頭插法或尾插法建表)c)單鏈表的遍歷
d)單鏈表的插入、刪除(采用順序查找方法,順頭指針往后,查找插入或刪除位置,再修改指針)
//頭文件
#include“stdlib.h〞//預(yù)定義常量#definenull0
//單鏈表的定義
typedefstructlnode{intdata;structlnode*next;}lnode,*linklist;//單鏈表的創(chuàng)立
voidcreate_list(linklistl){intdata;linklistp,q;l=(linklist)malloc(sizeof(lnode));l-next=null;
q=l;
scanf(“%d〞,data);while(data!=0){
p=(linklist)malloc(sizeof(lnode));
p-data=data;
p-next=q-next;
q-next=p;
q=p;
scanf(“%d〞,data);}}
//單鏈表的遍歷
voidtranverselist(linklistl){
linklistp;
p=l-next;
if(p==null)
{
printf(“niln〞);
return;
}
while(p!=null)
{
printf(“%d〞,p-data);
p=p-next;
}
printf(“n〞);}
試驗(yàn)三棧及其應(yīng)用
一、試驗(yàn)?zāi)康?/p>
1、熟悉棧的順序表示與實(shí)現(xiàn)。
2、熟悉棧的應(yīng)用。
3、理解并把握遞歸函數(shù)的設(shè)計(jì)與實(shí)現(xiàn)。
二、試驗(yàn)內(nèi)容問(wèn)題描述:利用棧實(shí)現(xiàn)十進(jìn)制數(shù)n轉(zhuǎn)化為d進(jìn)制數(shù)要求:
1)輸入一個(gè)n和d,打印輸出d進(jìn)制數(shù)序列。
2)利用順序棧來(lái)實(shí)現(xiàn)十進(jìn)制數(shù)n轉(zhuǎn)化為其他d進(jìn)制數(shù)。此時(shí),需要同時(shí)實(shí)現(xiàn)初始化空棧、入棧、出棧、判棧空等輔助功能。測(cè)試數(shù)據(jù):
(1)輸入n:1348
d:8
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 25062:2025 EN Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Common Industry Format (CIF) for reporting usability
- 2025年度跨境電商物流配送服務(wù)合作協(xié)議書(shū)4篇
- 廣東電力市場(chǎng)2024年半年報(bào)告
- 2025年度體育產(chǎn)業(yè)合伙人投資管理合同模板
- 2025年紡織片梭織機(jī)合作協(xié)議書(shū)
- 2025年度房地產(chǎn)項(xiàng)目開(kāi)發(fā)貸款合同范本
- 2025年智能物流運(yùn)輸車(chē)輛節(jié)能減排服務(wù)協(xié)議
- 美術(shù)教育的社會(huì)責(zé)任倡導(dǎo)計(jì)劃
- 生物課程教學(xué)設(shè)計(jì)工作坊計(jì)劃
- 學(xué)生美術(shù)能力測(cè)評(píng)體系建設(shè)計(jì)劃
- 全國(guó)裝配式建筑職業(yè)技能競(jìng)賽考試題庫(kù)
- 2025屆天津市部分學(xué)校高三年級(jí)八校聯(lián)考英語(yǔ)試題含解析
- 《妊娠期病毒性肝炎臨床實(shí)踐指南》解讀
- 水產(chǎn)品冷凍加工原料處理與加工技術(shù)考核試卷
- 浙教版八年級(jí)下冊(cè)科學(xué)第二章 微粒的模型與符號(hào)整章思維導(dǎo)圖
- 全新保密協(xié)議模板公安下載(2024版)
- 初一英語(yǔ)英語(yǔ)閱讀理解專(zhuān)項(xiàng)訓(xùn)練15篇
- GB/T 4008-2024錳硅合金
- DZ∕T 0447-2023 巖溶塌陷調(diào)查規(guī)范(1:50000)(正式版)
- 2024年天津市中考英語(yǔ)試題卷(含答案)
- 《建筑施工圖設(shè)計(jì)》課件-建筑施工圖立面圖
評(píng)論
0/150
提交評(píng)論