版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、程序開發(fā)環(huán)境1操作系統(tǒng):Windows all。2 開發(fā)工具:Microsoft Visual C+6.0。3.其他:無。二、程序運行環(huán)境1操作系統(tǒng):Windows all。2. 其他:無。三提交考試文檔用RAR壓縮軟件,將下列文件壓縮為一個文件,取名“學(xué)號J生名中期考試文檔RAR”1-本實驗報告。2源程序(IC或*CPP等文件):創(chuàng)建“源程序”文件夾,源程序放里面。3. 執(zhí)行程序UEXE文件):創(chuàng)建“執(zhí)行程序”文件夾,*EXE文件放里面。4. readme. txt:逐條詳細(xì)說明本程序運行時,所需要的其他文件及存放路徑。四軟件系統(tǒng)說明1繪制程序的系統(tǒng)流程圖,即各個功能模塊的調(diào)用流程圖。注
2、:不是各個功能模塊內(nèi)部的實現(xiàn)流程。3結(jié)合流程圖和主界面,逐個說明各個功能模塊,如下:1 鏈表操作該模塊會自動產(chǎn)生鏈表中data中的數(shù)據(jù),并在產(chǎn)生之前詢問要產(chǎn)生的個數(shù)。產(chǎn)生之后可手動輸入一個 數(shù)程序會自動查找該數(shù)是否包含在隨機(jī)產(chǎn)生的數(shù)當(dāng)中若包含 則返回該數(shù)所在的位置和包含該數(shù)的個 數(shù),然后詢問用戶是否要刪除所查找出來的這些數(shù),若選擇刪除則刪除這些數(shù)后再輸出刪除后的鏈 表。void mai n()NODE *head,*a,*p,*q,*j;int n;head=new node; a=head;head- next=NULL;coutw”請輸入要產(chǎn)生的鏈表元素個數(shù):”;cinn;double x
3、;sran d(time(0);隨機(jī)產(chǎn)生鏈表x=ra nd()%100;for(int i=0;ivn;i+)p=new no de;p-data=x;p-n ext=a-n ext;a-n ext=p;a=p;un sig ned sran d(time(0);x=ra nd()%100;*coutvv”隨機(jī)產(chǎn)生的數(shù)據(jù)為:”;q=head-next;表while(q!=NULL)coutq-dataH ”; q=q-next;)coutendl;int m,k=0,num=0;在這個鏈表中并且出現(xiàn)了幾次coutw”請輸入您要查找的數(shù):”;cinm;查找用戶輸入的數(shù)是否在隨機(jī)產(chǎn)生的鏈表里j=h
4、ead-next;while(j!=NULL)k+;if(j-data=m)coutvv找到 Hvvj-datavvH 是第 nkvv num+;)j=jn ext;)coutvv” 共找到,vvnumH 個” vvendl;if(0=num)coutvv*查無此數(shù)! ”vve ndl;coutvv”沒有數(shù)要刪除! ”vve ndl;)詢問用戶是否進(jìn)行刪除操作elsecoutvv”是否刪除這些數(shù)y?H;char ch5ch1 = Ych2=y; cinch;if(ch1 =ch|ch2=ch)輸出隨機(jī)產(chǎn)生的鏈查找m這個數(shù)是否個”vve ndl;do a=head;q=head-n ext;wh
5、ile(q!=NULL)&(q-data!=m)a=q; q=q-next;if(q=NULL)coutME刪除完畢! He ndl;else(an ext=q-n ext;delete (q);while(q!=NULL);刪除后輸出刪除后的數(shù)組coutvf刪除這些數(shù)后的鏈表為:”;q=head-next; while(q!=NULL)(coutq-datanq=qn ext;coute ndl;)elsecoutvv”你選擇了不刪除這些數(shù)!He ndl;2.用棧進(jìn)行二進(jìn)制轉(zhuǎn)換該模塊要求用戶輸入一個正整數(shù)然后程序會用棧來存儲所得到的二進(jìn)制,然后在出棧輸出十進(jìn)制對應(yīng)的二進(jìn)制。typedef s
6、truct linkstackint data; linkstack *next;Lin kstack;Linkstack *inistack(linkstack *top)top=new linkstack; top-next=NULL;return top;Linkstack *push(linkstack *top,int x)linkstack *s=new linkstack; s-data=x; snext=top-next; top-n ext=s;return top;Linkstack *quit(linkstack *top)(linkstack *s=top-next;
7、if(s!=NULL)top-next=s-next; delete s;return top;int gettop(linkstack *top)if(top-next!=NULL) return(top-n ext-data);elsereturn NULL;int empty(linkstack *top)if(top-next=NULL)return 1;elsereturn 0;void tenTotwo(int n)棧的初始化進(jìn)棧退棧取棧頂元素十進(jìn)制轉(zhuǎn)換為二進(jìn)制int x;棧的初始化linkstack *top=NULL; top=i nistack(top);while(n!=0
8、)進(jìn)棧intj=n%2; top=push(top,j); n=n/2;while(!empty(top)判斷棧非空x=gettop(top); coutx;取棧頂元素top=quit(top); 退棧coutendl;void main()(int n;coutvv”請輸入十進(jìn)制正整數(shù):”;cinn;coutvv”十進(jìn)制數(shù)“vvnvv”的二進(jìn)制為”; ten Totwo(n);3.創(chuàng)建一個十字鏈表用戶輸入十字鏈表所對應(yīng)的三元數(shù)組程序輸出輸入的十字鏈表typedef struct OLNode(int row,col; unionstruct OLNode *next; int value;表
9、頭結(jié)點next元素結(jié)點valueuval;建立稀疏矩陣的十字鏈表struct OLNode *down,*right; pOlink; OLNode *setlink()int m,n,len,s,row,col,value; pOlink *p,*q,*a100,*hm; cout請輸入行數(shù) 列數(shù)以及非零元的個數(shù)rT; cinmnlen;if(mn) s=m;else s=n;hm=new pOlink;row=m; hmcol=n;a0=hm; for(row=1 ;rowv=s;row+)row=0; p-col=0; p-down=p; p-right=p; arow=p;arow-1
10、 -uval.next=p;)as-uval.next=hm; for(int x=1 ;xv=len;x+)coutvv請輸入一個三元組(row,col,value) Mendl;cinro wcolvalue;輸入一個三元組生成一個三元組結(jié)點p=new pOlink; p-row=row; p-col=col; p-uval.value=value; 將P插入第row鏈表中q=arow;while(q-down!=arow)&(qdown-coldown; p-down=q-dow n;q-dow n=p;將p插到第col列鏈表中q=acol;while(q-right!=acol)&(q
11、 rightrowvrow) q=q-right;p-right=q-right;q-right=p;)return hm;)void main()pOlink *p,*q;pOlink*hm=NULL;hm=setli nk();coutH十字鏈表為nendl;p=hm-uval. next;while(p-uval.next!=hm uval.next)q=p-dow n;while(q!=p)coutvv”(”vvqrowvv” Hq-col q-uval.value); q=q-down;)coutendl;p=p-uval.next;)五、程序的測試為保證程序的正確性或存在較少Bug
12、,需要進(jìn)行各種測試。針對各個功能模塊,逐一給出測試內(nèi)容、方案、結(jié)論如下:1鏈表操作:產(chǎn)生鏈表、查找、刪除1) 測試內(nèi)容根據(jù)該模塊的功能、輸入輸出、參數(shù)等,需要測試以下內(nèi)容:產(chǎn)生鏈表:輸入一個int型整數(shù)產(chǎn)生所對應(yīng)元素的個數(shù)。查找:輸入一個數(shù)查找是否存在于隨機(jī)產(chǎn)生的元素中。若找到有則詢問是否刪除。2) 測試方案1-1二羹3賢,二韭墟 醫(yī)二柱龍產(chǎn)的第y 的 喬墮S.續(xù)伐建抒 到矍纏2整素個冕b 124S 97 83455119 Hf.2.用棧進(jìn)行二進(jìn)制轉(zhuǎn)換1)測試內(nèi)容輸入一個十進(jìn)制整數(shù)輸出轉(zhuǎn)換后的二進(jìn)制數(shù)2)測試方案M21二嘗、剖旳S_AM3 創(chuàng)建十子鏈表1)測試內(nèi)容輸入十字鏈表所對應(yīng)的三元數(shù)組然后輸出用三元數(shù)組表示的矩陣2)測試方案六、收獲與建議1.我的收獲數(shù)據(jù)結(jié)構(gòu)方面收獲 最初做鏈表是都是直接寫程序根本沒有考慮到結(jié)構(gòu)的可讀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【全程復(fù)習(xí)方略】2020年人教A版數(shù)學(xué)文(廣東用)課時作業(yè):6.1不等關(guān)系與不等式
- 2024年梧州市第二人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 健康科技:可穿戴健康設(shè)備
- 2021高考英語(三月)信息匹配、任務(wù)型及閱讀理解訓(xùn)練(12)附答案【杭州市】
- 2024年綜合場地租賃協(xié)議范本版B版
- 2024年離婚合同:雙方自愿分手及財產(chǎn)處理方案版B版
- 企業(yè)項目投資經(jīng)濟(jì)效益分析方法研究
- 2024年版大數(shù)據(jù)分析與處理協(xié)議
- 初中數(shù)學(xué)“綜合與實踐”領(lǐng)域課程資源開發(fā)策略探討
- 深圳市四大名校自招真題及答案解析
- 公司領(lǐng)導(dǎo)班子設(shè)置方案
- 專業(yè)展覽展示設(shè)計搭建公司
- 為銅制劑正名-冠菌銅? 產(chǎn)品課件-9-7
- 具有磁場保鮮裝置的制冷設(shè)備的制作方法
- 新人教版小學(xué)五年級數(shù)學(xué)上冊知識點歸納總結(jié)
- 2023年湖南省農(nóng)村信用社(農(nóng)村商業(yè)銀行)招聘員工筆試參考題庫附答案解析
- 七年級上英語知識梳理(牛津上海版)U1-U4
- 人力資源典型案例匯編
- 回族做禮拜的念詞集合6篇
- 設(shè)計服務(wù)實施方案模板
- 基于PLC的兩臺電動機(jī)順序啟動順序停止控制設(shè)計
評論
0/150
提交評論