交通咨詢系統(tǒng)設(shè)計(jì)報(bào)告_第1頁
交通咨詢系統(tǒng)設(shè)計(jì)報(bào)告_第2頁
交通咨詢系統(tǒng)設(shè)計(jì)報(bào)告_第3頁
交通咨詢系統(tǒng)設(shè)計(jì)報(bào)告_第4頁
交通咨詢系統(tǒng)設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

..專業(yè).整理.重慶科技學(xué)院《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)

報(bào)告學(xué)院:_電氣與信息工程學(xué)院_專業(yè)班級:計(jì)科2學(xué)生姓名:學(xué)號:設(shè)計(jì)地點(diǎn)(單位)計(jì)算機(jī)基礎(chǔ)自主學(xué)習(xí)中心設(shè)計(jì)題目:交通咨詢系統(tǒng)設(shè)計(jì)—_____完成日期:2012年7月6日指導(dǎo)教師評語:======^^====成績(五級記分制):指導(dǎo)教師(簽字):重慶科技學(xué)院課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:交通咨詢系統(tǒng)的設(shè)計(jì)學(xué)生姓名課程名稱數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)專業(yè)班級計(jì)地點(diǎn)計(jì)算機(jī)基礎(chǔ)自主學(xué)習(xí)中心起止時(shí)間2012.6.25-2012.7.6設(shè)計(jì)內(nèi)容及要求人們在出差、旅游出行時(shí),往往關(guān)心節(jié)省交通費(fèi)用或節(jié)省所需要的時(shí)間等問題??梢杂靡粋€(gè)圖結(jié)構(gòu)來表示交通網(wǎng)絡(luò),圖中頂點(diǎn)表示城市,邊表示城市之間的交通情況,其權(quán)值可代表里程、交通費(fèi)用或時(shí)間。設(shè)計(jì)一個(gè)交通咨詢系統(tǒng),能讓旅客咨詢從任一個(gè)城市到另一個(gè)城市之間的最短路徑(里程)、最少交通費(fèi)用或最少時(shí)間等問題。該設(shè)計(jì)的內(nèi)容主要分兩部分:一是建立交通網(wǎng)絡(luò)圖的存儲結(jié)構(gòu);二是實(shí)現(xiàn)求兩個(gè)城市頂點(diǎn)之間的最短路徑算法。要求表示城市之間的交通關(guān)系的邊的信息中包括里程、費(fèi)用、時(shí)間三個(gè)值。程序可實(shí)現(xiàn)求任兩個(gè)城市之間的最短里程、最少時(shí)間或最少費(fèi)用的路線。建立圖的存儲結(jié)構(gòu)時(shí)要求從文本文件中讀入頂點(diǎn)和邊的信息。設(shè)計(jì)測試數(shù)據(jù)要求:交通圖中頂點(diǎn)數(shù)不少于16個(gè),邊數(shù)不少于20,每條邊有三個(gè)權(quán)值(里程、交通

參數(shù)費(fèi)用、時(shí)間)。進(jìn)度要求2012625完成任務(wù)的講解、并接受課程設(shè)計(jì)任務(wù),選定課程設(shè)計(jì)的題目2012626了解任務(wù)的算法、并畫出算法的程序流程圖,對任務(wù)的關(guān)鍵技術(shù)進(jìn)行驗(yàn)證、并確定解決辦法2012.6.27-2012.6.29程序設(shè)計(jì)及編碼,上機(jī)調(diào)試2012.7.02對程序進(jìn)行調(diào)試,設(shè)計(jì)測試用例進(jìn)行測試2012.7.03整理課程設(shè)計(jì)的過程、并進(jìn)行總結(jié),完善程序功能2012.7.04編寫課程設(shè)計(jì)報(bào)告初稿2012.7.05完善課程設(shè)計(jì)報(bào)告、并準(zhǔn)備答辨2012.7.06提交課程設(shè)計(jì)報(bào)告和程序,進(jìn)行答辨參考資料.嚴(yán)蔚敏吳偉民,數(shù)據(jù)結(jié)構(gòu),清華大學(xué)出版社,2007.3?程杰,大話數(shù)據(jù)結(jié)構(gòu),清華大學(xué)出版社,2011.6.(美)StephenPrata,CPrimerPlus中文版(第五版),人民郵電出版社,2005.2其它說明1?本表應(yīng)在母次實(shí)施前一周由負(fù)責(zé)教師填與一份,學(xué)院申批后父學(xué)院教務(wù)辦備案,一份由負(fù)責(zé)教師留用。2?若填寫內(nèi)容較多可另紙附后。3?—題多名學(xué)生共用的,在設(shè)計(jì)內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。系主任:雷亮指導(dǎo)教師:黃永文/王雙明/熊茜/彭軍/王成敏2012年6月20日摘要在交通網(wǎng)絡(luò)非常發(fā)達(dá),人們在出差、旅游出行時(shí),往往關(guān)心節(jié)省交通費(fèi)用或節(jié)省所需要的時(shí)間等問題。對于這樣一個(gè)人們關(guān)心的問題,可以用一個(gè)圖結(jié)構(gòu)來表示交通網(wǎng)絡(luò),利用計(jì)算機(jī)建立一個(gè)交通咨詢系統(tǒng)。圖中頂點(diǎn)表示城市,邊表示城市之間的交通情況,其權(quán)值可代表里程、交通費(fèi)用或時(shí)間。比如任意一個(gè)城市到其他城市的最短路徑,任意兩個(gè)城市之間的最短路徑問題。本次設(shè)計(jì)的交通咨詢系統(tǒng)主要是運(yùn)用C語言的數(shù)據(jù)結(jié)構(gòu)來完成交通圖的存儲、圖中頂點(diǎn)的單源最短路徑和任意一對頂點(diǎn)間的最短路徑問題。關(guān)鍵詞:數(shù)字結(jié)構(gòu)C語言交通咨詢最短路徑目錄TOC\o"1-5"\h\z1設(shè)計(jì)內(nèi)容和要求11.1問題描述11.2需求分析12課程需求分析22.1算法思路22.2數(shù)據(jù)結(jié)構(gòu)體22.3基本操作42.4算法應(yīng)用42.5程序設(shè)計(jì)流程圖53功能模塊詳細(xì)設(shè)計(jì)63.1測試數(shù)據(jù)63.2程序調(diào)試74課程總結(jié)與體會245參考文獻(xiàn)266致謝271設(shè)計(jì)內(nèi)容和要求1.1問題描述:設(shè)計(jì)、實(shí)現(xiàn)一個(gè)全國大城市間的交通咨詢程序,為旅客提供三種最優(yōu)決策方案:(1)時(shí)間最短(2)費(fèi)用最?。?)里程最少。1.2需求分析:該程序所做的工作的是模擬全國交通咨詢,為旅客提供三種最優(yōu)決策的交通咨詢。此程序規(guī)定:(1)在程序中輸入城市名稱時(shí),需輸入20個(gè)字符以內(nèi)的字符串;輸入費(fèi)用時(shí)需輸入一個(gè)實(shí)型數(shù)據(jù);輸入時(shí)間時(shí)需輸入一個(gè)整型數(shù)據(jù);在選擇功能時(shí),應(yīng)輸入與所選功能對應(yīng)的一個(gè)整型數(shù)據(jù)。(2)程序的輸出信息主要是:最快需要多少時(shí)間才能到達(dá),或最少需要多少

旅費(fèi)才能到達(dá),或兩城市間需要走過的最短路程,并詳細(xì)說明如何坐車才能最省。(3)程序的功能包括:提供對城市信息的編輯,對兩城市間時(shí)間、花費(fèi)、還有路程的編輯,提供三種最優(yōu)決策:最快到達(dá)、最省錢到達(dá)、最少路程到達(dá)。2課程需求分析2.1算法思路數(shù)據(jù)存儲。城市信息、交通信息(城市間的里程、旅費(fèi)和時(shí)間)存儲于磁盤文件。建議把城市信息、交通信息還有城市和交通信息數(shù)目分開存于三個(gè)文件中,用fread和fwrite函數(shù)操作。數(shù)據(jù)的邏輯結(jié)構(gòu)。根據(jù)設(shè)計(jì)任務(wù)的描述,其城市之間的旅游交通問題是典型的圖結(jié)構(gòu),可看作為有向圖,圖的頂點(diǎn)是城市,邊是城市之間所耗費(fèi)的時(shí)間、旅費(fèi)、里程。數(shù)據(jù)的存儲結(jié)構(gòu)。采用鄰接矩陣作為數(shù)據(jù)的存儲結(jié)構(gòu),提高空間的存儲效率。用不同的功能模塊對城市信息和交通信息進(jìn)行編輯,可用菜單方式或命令提示方式。只要能方便的對城市信息和交通信息進(jìn)行管理即可。(6)主程序可以有系統(tǒng)界面、菜單;也可用命令提示方式;選擇功能模塊執(zhí)行,要求在程序運(yùn)行過程中可以反復(fù)操作。2.2數(shù)據(jù)結(jié)構(gòu)體typedefstructlu/*交通信息數(shù)據(jù)類型*/{intdistance;/*城市間里程*/intcost;/*城市間旅費(fèi)*/inttime;/*城市間時(shí)間*/}lu,lujin[max][max];typedefstructcity/*城市數(shù)據(jù)類型*/{charname[20];/*城市名稱*/}citys[max];typedefstruct/*網(wǎng)絡(luò)圖的數(shù)據(jù)類型*/{citysclist;/*城市信息*/lujinarcs;/*邊的信息*/intc_n,l_n;/*邊和頂點(diǎn)數(shù)目*/}Graph;typedefstruct/*最短路徑*/{charadjvex;intmincost;/*最少旅費(fèi)*/intmindistance;/*最短里程*/intmintime;/*最少時(shí)間*/}closedge;2.3基本操作voidzairu(Graph*G);/*導(dǎo)入文件中的信息,能否是程序運(yùn)行*/voidAdminister(GraphG);/*管理員操作界面,由主函數(shù)調(diào)用*/voidshow(GraphG);/*顯示系統(tǒng)中的全部城市信息和交通信息*/intinsertcity(Graph*G);/*增加城市信息*/intinsertlu(Graph*G);/*增加交通信息*/intLocated(Graph*G,char*p);/*返回鄰接矩陣的位置下標(biāo),系統(tǒng)中的關(guān)鍵*/voidbaocun(GraphG);/*將城市信息、交通信息保存在文件中*/intserchlu(Graph*G);/*搜索交通信息*/voidmindistance(Graph*G,intvO,intv1);/*最少里程計(jì)算,迪杰斯特拉算法*/voidmincost(Graph*G,intv0,intv1);/*最少旅費(fèi)計(jì)算,迪杰斯特拉算法*/voidmintime(Graph*G,intvO,intv1);/*最少時(shí)間計(jì)算,迪杰斯特拉算法*/2.4算法應(yīng)用在判斷源點(diǎn)到其余各點(diǎn)的最短路徑時(shí)運(yùn)用迪杰斯特拉算法:一般情況下,假設(shè)S為以求得最短路徑的終點(diǎn)的集合,則可證明:下一條最短路徑(設(shè)其終點(diǎn)為x)或者是弧(v,k),或者是中獎(jiǎng)只經(jīng)過S中的頂點(diǎn)而最后到達(dá)頂點(diǎn)x的路徑。這可用反證法來證明,假設(shè)此路徑上有一個(gè)頂點(diǎn)不在S中,則說明存在一條終點(diǎn)不在S而長度比此路徑短的路徑。但是,這是不可能的。因?yàn)槲覀兪前凑章窂介L度遞增的次序來產(chǎn)生各最短路徑的,故長度比此路徑段的所有路徑均已產(chǎn)生,它們的終點(diǎn)必定在S中,即假設(shè)不成立。因此,在一般情況下,下一條長度次短的最短路徑的長度必是D[j]Min{D[i]|vVS}i其中,D[i或者是弧v,v.上的權(quán)值,或者是D[k](vS)和弧v,v上的權(quán)值之ikki和。假設(shè)用帶權(quán)的鄰接矩陣arcs來表示帶權(quán)有向圖,arcs[i]表示弧v<vi,vj上的權(quán)值。若<vi,vj存在,則置arcs[i]為]o在計(jì)算機(jī)上可用允許的最大值代替)。S為已找到從v出發(fā)的最短路徑的終點(diǎn)的集合,他的初始狀態(tài)為空集。那么,從v出發(fā)到圖上其余個(gè)頂點(diǎn)(終點(diǎn))vi可能達(dá)到的最短路徑長度的初值為:D[i]arc[LocateVex(G,v)[i]vVi選擇V.,使得jD[i]Min{D[i]|vVS}iVj就是當(dāng)前求得的一條從v出發(fā)的最短路徑的終點(diǎn)。令SS{.}修改從v出發(fā)到集合V-S上任一頂點(diǎn)vk可達(dá)的最短路徑長度。如果D[i]arcs[.][k]D[k]則修改D[k]為D[k]D[.]arcs[.][k](4重復(fù)操作(2)、(3共n-1次。由此求得從v到圖上其余各點(diǎn)的最短路徑是依路徑長度遞增的序列。2.5程序設(shè)計(jì)流程圖:

添加城市管理員圖2.1程序蹲計(jì)流顯示所有交通路線用戶退出I—I—nII添加城市管理員圖2.1程序蹲計(jì)流顯示所有交通路線用戶退出I—I—nIIII添加交通3功能模塊詳細(xì)設(shè)查詢最少|(zhì)査詢最短11査詢最短11返回上一路線級菜單花費(fèi)路線時(shí)間路線里程路線級菜單3?1測試數(shù)據(jù)表3.1城市信息北京天津石家莊濟(jì)南重慶成都鄭州徐州九江武漢廣安無錫表3.2交通信息表起始目的旅費(fèi)(元)時(shí)間(小時(shí))里程(公里)重慶廣安501300重慶成都1002500廣安成都601100北京天津1001250濟(jì)南天津2002300成都南京50020700浙江鄭州300301000下載可編輯下載可編輯九江武漢20010500南京無錫1005200石家莊北京1005300浙江徐州300241500重慶南京500232000成都鄭州400302400無錫北京700403500徐州上海20015895上海溫州1008300濟(jì)南重慶15015500天津武漢530282593廣安濟(jì)南300231842上海重慶5342814343.2程序調(diào)試1.主界面包括四個(gè)選項(xiàng):選項(xiàng)一:管理員管理界面,選擇該項(xiàng)可進(jìn)行城市交通系統(tǒng)的管理;選項(xiàng)二:用戶咨詢界面,選擇該項(xiàng)可進(jìn)行最少費(fèi)用、最少時(shí)間、最短里程的決策咨詢;選項(xiàng)三:顯示城市交通系統(tǒng),選擇該項(xiàng)可顯示城市交通系統(tǒng)的所有信息,包括城市、交通路線信息;選項(xiàng)四:退出程序,選擇該項(xiàng)將退出程序。JOOO<JOOOOOOOOOOOOOO<JOOO<JOOO<JOOO<JOO<【卩]爭用?交j甬JOOO<JOOOOOOOOOOOOOO<JOOO<JOOO<JOOO<JOO<【卩]爭用?交j甬旬予宅充:KKKXJCKKXHKKXKKKJCKKKJCKKKJCM:*※※※※※?※※※※※※※※※※※※※※※?※:茨※.一管理員管理X※※居用戶咨詢陪徑滋※※-,顯示交通索統(tǒng)信息X※※.亠退出茨憨沁※茨※※※※※※※※※※※※※總'I:'徵據(jù)結(jié)構(gòu)誤程盪計(jì)\re5Ult\Debug\result,exeR[r回下載可編輯下載可編輯..專業(yè).整理.圖3.1程序主界面在該系統(tǒng)運(yùn)行的開始會從文件讀取交通信息,如果文件不存在會導(dǎo)致程序運(yùn)行錯(cuò)MicrosoftVisualC++DebugLibabnoprogramtermination(PressRetrytodebugtheappli匚自tio門)中止(A)重試(R)忽路⑴MicrosoftVisualC++DebugLibabnoprogramtermination(PressRetrytodebugtheappli匚自tio門)中止(A)重試(R)忽路⑴!出現(xiàn)下圖l|情^況^:=ESH\result\Debug\resuli.exeDebugError!Prog陽m:I:盛據(jù)結(jié)構(gòu)課程設(shè)計(jì)\畑£ult\Debug\result.exe圖3.2文件不存在該函數(shù)代碼如下:voidzairu(Graph*G)〃讀取文本中的信息{FILE*fpout,*fpin;intcnum,lnum;charFromc[20],Toc[20];intt,i,j;for(i=0;i<max;i++)for(j=0;j<max;j++){G->arcs[i][j].distance=G->arcs[j][i].distance=zuida;G->arcs[i][j].cost=G->arcs[j][i].cost=zuida;G->arcs[i][j].time=G->arcs[j][i].time=zuida;}fpout=fopen("number.txt","r");assert(fpout);if(fscanf(fpout,"%d%d",&cnum,&lnum)==2){G->c_n=cnum;G->l_n=lnum;fclose(fpout);//讀取城市頂點(diǎn)信息fpout=fopen("city.txt","r");for(t=0;t<G->c_n;t++)fscanf(fpout,"%s",G->clist[t].name);fclose(fpout);//讀取邊的信息.(起點(diǎn)、終點(diǎn)、距離(千米)、花費(fèi)(元)、時(shí)間(分鐘))fpout=fopen("lu.txt","r");for(t=0;t<G->l_n;t++){fscanf(fpout,"%s%s",Fromc,Toc);i=Located(G,Fromc);j=Located(G,Toc);fscanf(fpout,"%d%d%d",&G->arcs[i][j].distance,&G->arcs[i][j].cost,&G->arcs[i][j].time);G->arcs[j][i].distance=G->arcs[i][j].distance;G->arcs[j][i].cost=G->arcs[i][j].cost;G->arcs[j][i].time=G->arcs[i][j].time;}fclose(fpout);}else{fpin=fopen("number.txt","w");assert(fpin);fprintf(fpin,"00");G->l_n=0;G->c_n=0;fclose(fpin);}}2.管理員管理界面首先出現(xiàn)登陸界面,采用加密技術(shù),初始密碼為admin,菜單項(xiàng)包括5個(gè)選項(xiàng):選項(xiàng)一:增加城市信息;選項(xiàng)二:增加交通路線信息;選項(xiàng)三:保存新增信息,返回上一級菜單,可返回主界面。圖3.3管理員界面在該界面中調(diào)用了三個(gè)重要函數(shù),對城市、交通信息進(jìn)行編輯和保存intinsertcity(Graph*G)//增加城市{charname[20];printf("輸入要增加的城市:");scanf("%s",name);getchar();if(G->c_n==0){strcpy(G->clist[0].name,name);G->c_n++;}else{for(inti=0;i<G->c_n;i++)if(strcmp(G->clist[i].name,name)==0)return-1;elsestrcpy(G->clist[G->c_n].name,name);

G->c_n++;return1;回選擇?豐蠱加的城市:湖南看加成功睥*回選擇?豐蠱加的城市:湖南看加成功睥*軟※※終総青選擇管理項(xiàng)目激※※※粹弘濃.1=儈加城幣%.:※淡"壇加謙潴路登茨※※?卜遏回上一級菜單※:※※:※※憨※※※※※※※※※※※※※※:'I:'徵據(jù)結(jié)構(gòu)俁理盪ifreiult\Debug\result,exe'圖3.4增加城市intinsertlu(Graph*G)//增加城市交通信息{charFromc[20],Toc[20];inti,j;intd,c,t;printf("輸入增加路徑的出發(fā)城市、目的城市、距離(公里)、花費(fèi)(元)、時(shí)間(小時(shí)):\n");scanf("%s%s%d%d%d",Fromc,Toc,&d,&c,&t);getchar();i=Located(G,Fromc);j=Located(G,Toc);if(i==-1||j==-1)return-1;elseG->arcs[i][j].distance=G->arcs[j][i].distance=d;G->arcs[i][j].cost=G->arcs[j][i].cost=c;G->arcs[i][j].time=G->arcs[j][i].time=t;G->l_n++;}return}return1;圖3.5增加交通信息voidbaocun(GraphG)//保存新增信息于文件中{FILE*fpin;inti,m,k;//邊和頂點(diǎn)的個(gè)數(shù)fpin=fopen("number.txt","w");assert(fpin);fprintf(fpin,"%d%d",G.c_n,G.l_n);fclose(fpin);//頂點(diǎn)信息.fpin=fopen("city.txt","w");assert(fpin);for(i=0;i<G.c_n;i++){fprintf(fpin,"%s",G.clist[i].name);m=i%10;if(m==0)printf("\n");}fclose(fpin);//邊的信息.fpin=fopen("lu.txt","w");assert(fpin);for(i=0;i<G.c_n;i++){for(k=i+1;k<G.c_n;k++){if(G.arcs[i][k].distance!=zuida)fprintf(fpin,"%s%s%d%d%d\n",G.clist[i].name,G.clist[k].name,G.arcs[i][k].distance,G.arcs[i][k].cost,G.arcs[i][k].time);}}fclose(fpin);}保存文件在該系統(tǒng)中是一個(gè)重要的組成部分,用于對城市和交通信息的保存,將其儲存在文件之中!3.用戶查詢路線進(jìn)入該界面,提示輸入要查詢的兩個(gè)城市,然后系統(tǒng)進(jìn)入查詢方法界面如下圖:

¥請輸滅起點(diǎn)、終點(diǎn):重慶我都※※淡※※請輸入查找的依據(jù)遊淡※※※※-"曇短距離?※/※※程遼少花費(fèi)滋※淡,纂少時(shí)愉?※/※※-皆返回滋幾※※※慈※※※※※※※※※※茨請選擇?'I¥請輸滅起點(diǎn)、終點(diǎn):重慶我都※※淡※※請輸入查找的依據(jù)遊淡※※※※-"曇短距離?※/※※程遼少花費(fèi)滋※淡,纂少時(shí)愉?※/※※-皆返回滋幾※※※慈※※※※※※※※※※茨請選擇?'I:'戯捱樂構(gòu)誤琴設(shè)計(jì)\re弓ult\Debug\result.exe'[=|回|嚴(yán)甌,|圖3.6查找方法該系統(tǒng)的查找方法,每一種查找最短路徑的算法都是運(yùn)用迪杰斯特拉算法,該代碼如下:voidmindistance(Graph*G,intv0,intv1)//最短距離{int*d;intvd,w,i,j,v;intmind,*pred,*finald;finald=(int*)malloc(G->c_n*sizeof(int));//判斷頂點(diǎn)是否已求出最短路徑d=(int*)malloc(G->c_n*sizeof(int));//儲存起始點(diǎn)到各點(diǎn)的最短路徑pred=(int*)malloc(G->c_n*sizeof(int));//最后用于輸出最短路徑for(v=0;v<G->c_n;v++){finald[v]=0;d[v]=G->arcs[v0][v].cost;if(d[v]<zuida)pred[v]=v0;elsepred[v]=-1;}d[v0]=0;//到起始點(diǎn)無路徑finald[v0]=1;//v0放入到final數(shù)組里for(i=1;i<G->c_n;i++)//從1開始、因?yàn)槠鹗键c(diǎn)已經(jīng)在final里面、剩下n-1個(gè)頂點(diǎn)、循環(huán)n-1次。{mind=zuida;for(w=0;w<G->c_n;w++){if(!finald[w])//沒有放進(jìn)final里面的終點(diǎn)進(jìn)行選擇最短路徑出來.{if(d[w]<mind){mind=d[w];vd=w;}}}//找到最短路徑終點(diǎn)G->vexs[v]finald[vd]=1;//放入final中for(w=0;w<G->c_n;w++){if(!finald[w]&&(mind+G->arcs[vd][w].distance<d[w]))//更新源點(diǎn)到每個(gè)終點(diǎn)[W]當(dāng)前的最短路徑?若該終點(diǎn)已在final里面、{//跳出if語句、d[W]=mind+G->arcs[vd][W].distance;pred[W]=vd;}}}if(pred[v1]!=-1){printf("%s到%s",G->clist[v0].name,G->clist[v1].name);printf("最短路程為(公里):%d\t\t",d[v1]);printf("%s",G->clist[v0].name);j=pred[v1];while(j!=v0){printf("-->%s",G->clist[j].name);j=pred[j];}printf("-->%s\n",G->clist[v1].name);}elseprintf("%s到%s沒有信息.\n",G->clist[v0].name,G->clist[v1].name);}該代碼在系統(tǒng)中是核心算法!"I:1■遨據(jù)結(jié)構(gòu)誄程設(shè)iiVewult\Debug\resuli.exe'丨o!回圖3.7最短路徑4.顯示所有交通信息2403100"I:1■遨據(jù)結(jié)構(gòu)誄程設(shè)iiVewult\Debug\resuli.exe'丨o!回圖3.7最短路徑4.顯示所有交通信息2403100議羸薦監(jiān)疇聽翼覚L巴耙—目前交通系統(tǒng)中含有卯個(gè)城市,2丄條旅游路徑|"I:1■詡?捋軸諜唱設(shè)計(jì)\?ult\Debug\resuIt,ex?'莊、.里址星足盪南南慶慶慶專一巾津家魯役慶宀賣女海京州城天石無迸頁重?廠禺上黑、距離<公里〉25@3003500300259350018425003001434花散元〉1S01307002&Q53015030010050534500400S0時(shí)間C小時(shí)〉15402281523212823301圖3.8交通信息該函數(shù)代碼如下voidshow(GraphG){inti,k;system("cls");printf(”\n\n目前交通系統(tǒng)中含有%d個(gè)城市,%d條旅游路徑\n\n\n",G.c_n,G.l_n);printf("各大城市:\n");for(i=0;i<G.c_n;i++){printf("%s",G.clist[i].name);if((i+1)%10==0)printf("\n");}printf("\n\n************************************************************\n\n");printf("城市\(zhòng)t\t城市\(zhòng)t\t距離(公里)\t花費(fèi)(元)\t時(shí)間(小時(shí))\n");for(i=0;i<G.c_n;i++)for(k=i+1;k<G.c_n;k++)if(G.arcs[i][k].distance!=zuida)printf("%s\t\t%s\t\t%d\t\t%d

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論