freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

交通圖咨詢查詢系統(tǒng)數(shù)據(jù)結(jié)構(gòu)培訓(xùn)資料-文庫吧資料

2025-06-23 15:04本頁面
  

【正文】 ity){ int i。 break。 } if(prenextpath==p) { prenextpath=pnextpath。 free(p)。 } p=pnextpath。 pre=p。 break。 } if(prenextpath==p) { prenextpath=pnextpath。 free(p)。 } p=pnextpath。 pre=p。 int dis。 } return 。 break。 } p=Glist[right].firstpath。 break。 p=Glist[left].firstpath。 scanf(%d,amp。 int dis。 } return 1。 iGcities。}int FindCity(Graph *G,char name[])//返回城市的序號{ int i。//置pre為弧鏈表結(jié)束的節(jié)點 } else { ADD_PATH(G,padjcity,i,*p)。 p=NULL。pdistance)。 printf(請輸入城市下一條路徑的距離\n)。 scanf(%d,amp。 p=pnextpath。 } while(p) { pnextpath=(PathNode *)malloc(sizeof(PathNode))。 Glist[i].firstpath = NULL。 if(padjcity==1) { free(p)。 scanf(%d,amp。padjcity)。 printf(請輸入城市第一條路徑的鄰接城市的位置(1表示結(jié)束)\n)。 Glist[i].firstpath=(PathNode *)malloc(sizeof(PathNode))。 getchar()。 Gcities++。 if(Gcities=MAX_CITIES) return 。}void ADD_CITY(Graph *G)//添加城市{ int i=0。 prnextpath=Glist[ori].firstpath。 pradjcity=add。}void ADD_PATH(Graph *G,int ori,int add,PathNode p)//添加路徑{ PathNode *pr。 } fclose(fp)。 p=pnextpath。 p=Glist[i].firstpath。 iGcities。 } fprintf(fp,%d %d ,Gpaths,Gcities)。 if(( fp=fopen(,w))==NULL) { printf(文件打開失敗)。 int r,i。 return 0。pdistance)。//置pre為弧鏈表結(jié)束的節(jié)點 break。 p=NULL。padjcity)。 p=pnextpath。 while(1) { pnextpath=(PathNode *)malloc(sizeof(PathNode))。 } else fscanf(fp,%d,amp。 Glist[i].firstpath = NULL。 if(padjcity==1) { free(p)。 fscanf(fp,%d,amp。 Glist[i].firstpath=(PathNode *)malloc(sizeof(PathNode))。 iGcities。Gcities)。 } r=fscanf(fp,%d %d ,amp。 if(( fp=fopen(,r))==NULL) { printf(文件打開失敗)。 int r,i。 } } return 0。 scanf(%d,amp。//置pre為弧鏈表結(jié)束的節(jié)點 break。 p=NULL。padjcity)。 printf(請輸入城市下一條路徑的鄰接城市(1表示結(jié)束)\n)。 pre=p。 Glist[i].firstpath = NULL。 if(padjcity==1) { free(p)。 scanf(%d,amp。padjcity)。 printf(請輸入城市第一條路徑的鄰接城市的位置(1表示結(jié)束)\n)。 Glist[i].firstpath=(PathNode *)malloc(sizeof(PathNode))。 getchar()。 iGcities。Gcities)。 printf(請輸入城市數(shù)目\n)。 scanf(%d,amp。 int i=0。ShortPathTable D[MAX_CITIES]。typedef int ShortPathTable。PList head。 AdjList list。typedef struct{ int cities。//城市名 struct _path *firstpath。//下一個路徑} PathNode,*PList[MAX_CITIES]。//鄰接點域 int distance。 求多源最短路徑 對每個結(jié)點循環(huán)調(diào)用便可打印出每個結(jié)點到其他結(jié)點的最短路徑,通過改變Print函數(shù)的形參,便可以求出兩點間的最短路徑。 提取迪杰斯特拉函數(shù)信息 根據(jù)P函數(shù)與D函數(shù),可以將V0到每個終點的經(jīng)過結(jié)點和最終路徑求出,利用Print函數(shù)打印出V0和V,再調(diào)用FindPath函數(shù),打印經(jīng)過的結(jié)點。再遍歷其他結(jié)點,如果出現(xiàn)新的路徑,且路徑小于最大值INFINITY,則保存路徑和距離以便下次比較。 迪杰斯特拉算法函數(shù) 定義了若干個全局輔助變量,如路徑矩陣P[][]和距離數(shù)組D[],final用來標(biāo)記是否找到了點的最短路徑在函數(shù)的初始階段進行對個輔助變量的初始化,第一趟把V0相鄰的路徑距離保存下來。實現(xiàn)對圖結(jié)構(gòu)的讀取保存。 和圖的基本操作相同,只是該城市每刪除一個城市結(jié)點要在弧的鄰接點對應(yīng)的城市上也刪除那條弧。 圖 2 模擬交通圖 和圖的基本操作相同,只是該城市每增加一個城市結(jié)點要在弧的鄰接點對應(yīng)的城市上也增加一條弧。3 運行環(huán)境1. 硬件環(huán)境:PC機內(nèi)存 4G;硬盤500G2. 軟件環(huán)境:操作系統(tǒng):windows104 開發(fā)工具和編程語言開發(fā)環(huán)境:CodeBlocks 、Dev C++編程語言:C語言 5 詳細(xì)設(shè)計在概要設(shè)計的基礎(chǔ)上,對每個模塊進行內(nèi)部邏輯處理部分詳細(xì)設(shè)計。void FindPath(Graph *G,int v)功能為:打印出V1到V2的經(jīng)過路徑。void Print(Graph *G,int v0)功能為:根據(jù)迪杰斯特拉算法,打印出V0單源最短路徑。 void menu(int i)功能為:各種的端界面打印。 int ReadAdjList(Graph *G)功能為:從文件中讀取交通圖。 void MODE_CLIENT(Graph *G)功能為:客戶端界面函數(shù)。Status SqListSearchByName(SqList *L,char *phone) 。功能為:通過姓名查找順序表中,返回值為其在通訊錄中的位置 。void UPDATE_PATH(Graph *G,int left,int right)功能為:更新圖G中的一個路徑信息 。void DELETE_CITY(Graph *G,int city)功能為:刪除圖G中的指定的城市及其相關(guān)的路徑。void ADD_CITY(Graph *G)功能為:往圖G中插入一個城市結(jié)點。 圖 1模塊結(jié)構(gòu)圖為了實現(xiàn)上述功能模塊,分別在順序表和單鏈表物理結(jié)構(gòu)上定義了多個函數(shù),本系統(tǒng)定義的函數(shù)和功能如下:1. 數(shù)據(jù)結(jié)構(gòu)部分部分 void initalize_graph(Graph *G)功能為:圖初始化,即生成一個空圖。 功能模塊結(jié)構(gòu)圖根據(jù)需求分析,為了滿足用戶的功能需求,按照軟件開發(fā)方法學(xué)中的模塊劃分原則,我將本系統(tǒng)主要劃分為如下模塊:操作交通圖信息,和查詢交通圖路徑兩大模塊。PathMatrix P[MAX_CITIES][MAX_CITIES]。typedef int PathMatrix。 AdjList list;}Graph 。3. 定義交通圖類型 typedef struct { int cities。城市名 struct _path * firstpath;//第一個路徑 }AdjList[15],CityNode。
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1