中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

c++查詢最短路徑示例
來源:易賢網(wǎng) 閱讀:1808 次 日期:2014-08-20 15:41:39
溫馨提示:易賢網(wǎng)小編為您整理了“c++查詢最短路徑示例”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了c++查詢最短路徑示例,需要的朋友可以參考下

代碼如下:

//shortest_path.c

#include

#include//用file

#include//可用gets(),puts()

#include"shortest_path.h"

#define MAX 32767

#define MENU "歡迎進入導航系統(tǒng)!n==========菜單===========n0、載入北外地圖n1、建立地圖n2、查詢最短路徑n3、退出n==========菜單===========n"

struct stmap map;//無向網(wǎng)

const char *filepath1="D:spots.dat";

const char *filepath2="D:paths.dat";

int load1()

{

FILE *fp;

int i;

fp=fopen(filepath1,"r");

if(fp==NULL){printf("spots文件打開異常,讀取失敗");return -1;}

fread(&map.spotnum,sizeof(int),1,fp);

for(i=0;i

{

fread(map.spot[i].name,sizeof(char),10,fp);

fread(map.spot[i].intro,sizeof(char),20,fp);

}

fclose(fp);

return 0;

}

int load2()

{

FILE *fp;

int i,j;

fp=fopen(filepath2,"r");

if(fp==NULL){printf("paths文件打開異常,讀取失敗");return -1;}

fread(&map.pathmatrix,sizeof(int),1,fp);

for(i=0;i

for(j=0;j

fread(&map.pathmatrix[i][j],sizeof(int),1,fp);

fclose(fp);

return 0;

}

void loadmap()

{

if(load1()==0)

printf("spot讀入成功n");

else

printf("spot讀入失敗n");

if(load2()==0)

printf("path讀入成功n");

else

printf("path讀入失敗n");

}

void drawmap()//直接輸入

{

int i;

int a,b;

char s1[10],s2[10];

printf("共有幾個景點?(<=20)");//map.spotmun

fflush(stdin);

scanf("%d",&map.spotnum);

printf("共有幾條景點與景點之間直接相連的路徑?");//map.pathnum

fflush(stdin);//清空鍵盤緩沖區(qū),在"stdio.h"中

scanf("%d",&map.pathnum);

for(a=0;a

for(b=0;b

{

if(a==b)map.pathmatrix[a][b]=0;

else map.pathmatrix[a][b]=MAX;

}

for(i=0;i

printf("請輸入第%d個景點的名稱(<=10letters)",i+1);

fflush(stdin);

gets(map.spot[i].name);

printf("請輸入第%d個景點的介紹(<=20letters)",i+1);

fflush(stdin);

gets(map.spot[i].intro);

}//輸入景點名字和簡介map.spot[].name;map.spot[].intro

for(i=0;i

do{

printf("請輸入第%d條路徑的起點",i+1);

fflush(stdin);

gets(s1);

for(a=0;a

if(!strcmp(map.spot[a].name,s1))break;//查找景點編號

if(a==map.spotnum)printf("不存在此景點,請重新輸入。n");

}while(a==map.spotnum);

do{

printf("請輸入第%d條路徑的終點",i+1);

fflush(stdin);

gets(s2);

for(b=0;b

if(!strcmp(map.spot[b].name,s2))break;

if(b==map.spotnum)printf("不存在此景點,請重新輸入。n");

}while(b==map.spotnum);

printf("請輸入第%d條路徑的長度",i+1);

fflush(stdin);

scanf("%d",&map.pathmatrix[a][b]);

map.pathmatrix[b][a]=map.pathmatrix[a][b];//輸入路徑長度

}

}

void shortestpath()//最短路徑,輸入起點終點輸出路徑和路程

{

struct stspath spath[20];

int s,t,v,w,min;

char s1[10],s2[10];

int pathorder[20];

struct stspath *p;//pathorder

do{

printf("請輸入起點");//查找起點的景點編號

fflush(stdin);

gets(s1);

for(s=0;s

if(!strcmp(map.spot[s].name,s1))break;

if(s==map.spotnum)printf("不存在此景點,請重新輸入。n");

}while(s==map.spotnum);

do{

printf("請輸入終點");//查找終點的景點編號

fflush(stdin);

gets(s2);

for(t=0;t

if(!strcmp(map.spot[t].name,s2))break;

if(t==map.spotnum)printf("不存在此景點,請重新輸入。n");

}while(t==map.spotnum);

for(v=0;v

{

spath[v].length=MAX;

spath[v].in=0;

}

spath[s].in=1;

spath[s].length=0;

spath[s].pior=NULL;

v=s;

while(v!=t){

for(w=0;w

if((!spath[w].in)&&(spath[w].length>spath[v].length+map.pathmatrix[v][w])){

spath[w].length=spath[v].length+map.pathmatrix[v][w];

spath[w].pior=&spath[v];

}

min=MAX;

for(w=0;w

if((!spath[w].in)&&(spath[w].length

min=spath[w].length;

v=w;

}

spath[v].in=1;

}

printf("最短路徑長度為%d,最短路徑為:n",spath[t].length);//print path

for(v=0,p=&spath[t];p->pior!=NULL;p=p->pior)

{

pathorder[v]=p-spath;

v++;

}

pathorder[v]=s;

for(;v>=0;v--)

printf("%10s",map.spot[pathorder[v]].name);

}

void main()

{

int menu=1;

printf(MENU);

while(menu!=3)

{

printf("n請輸入您的選項(數(shù)字)n");

fflush(stdin);

scanf("%d",&menu);

switch (menu)

{

case 0: loadmap();printf("n北外地圖載入完成n");break;

case 1: drawmap();printf("n新建完成n");break;

case 2: shortestpath();printf("n查詢完成完成n");break;

}

}

printf("謝謝使用!");

}

2. [文件] shortest_path.h ~ 430B 下載(2)

#ifndef _SHORTEST_PATH_H_

#define _SHORTEST_PATH_H_

struct stspot{//景點的頂點

char name[11];//景點名稱no more than 10

char intro[20];//景點介紹no more than 20

};

struct stmap{//整個無向網(wǎng)

stspot spot[20];//點,景點向量

int pathmatrix[20][20];//邊,路徑的鄰接矩陣

int spotnum;

int pathnum;

};

struct stspath//求最短路徑時的景點數(shù)組

{

stspath * pior;

int in;// can be boolen

int length;

};

#endif

名單

更多信息請查看IT技術專欄

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:c++查詢最短路徑示例

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
日韩视频在线观看一区二区| 亚洲精品永久免费精品| 国产日韩精品一区二区浪潮av | 一区二区三区免费网站| 欧美成人午夜激情视频| 亚洲人成人一区二区三区| 欧美亚洲一级片| 伊人一区二区三区久久精品| 欧美大尺度在线观看| 一区二区三区日韩| 国内一区二区三区| 一区二区三区日韩| 欧美激情第8页| 亚洲女女女同性video| 激情久久综艺| 一区二区三区免费网站| 欧美凹凸一区二区三区视频| 日韩视频免费| 国产女主播一区| 你懂的视频欧美| 羞羞答答国产精品www一本| 国产主播精品| 国产精品蜜臀在线观看| 麻豆九一精品爱看视频在线观看免费| 精品成人国产在线观看男人呻吟| 欧美成人一品| 久久九九久久九九| 亚洲自拍高清| 亚洲国内精品在线| 国产麻豆9l精品三级站| 欧美xxx成人| 久久久久一区二区三区| 亚洲午夜在线| 亚洲激情av| 一区二区三区在线观看国产| 欧美日韩精品综合| 免费在线一区二区| 欧美大片在线看| 亚洲激情一区| 精品成人a区在线观看| 国产精品视频最多的网站| 欧美凹凸一区二区三区视频| 欧美有码在线视频| 亚洲欧美卡通另类91av| 亚洲美女中出| 亚洲精品资源美女情侣酒店| 亚洲高清自拍| 亚洲欧洲综合| 亚洲精品国久久99热| 国产精品专区h在线观看| 国产精品日韩在线播放| 欧美日本国产精品| 欧美激情精品久久久| 久热re这里精品视频在线6| 久久gogo国模裸体人体| 欧美裸体一区二区三区| 久久久久久伊人| 久久aⅴ国产欧美74aaa| 亚洲欧美另类中文字幕| 一区二区三区免费观看| 国产精品最新自拍| 国产精品日韩专区| 国产精品乱码人人做人人爱| 欧美日韩精品在线播放| 欧美精品一区在线播放| 欧美理论在线播放| 欧美精品一区二区三区四区| 欧美精品乱人伦久久久久久| 欧美精品 国产精品| 欧美日韩免费网站| 欧美伊久线香蕉线新在线| 一区在线播放| 亚洲激情一区| 中日韩美女免费视频网站在线观看| 亚洲最黄网站| 在线亚洲自拍| 欧美一区在线看| 麻豆成人av| 欧美另类极品videosbest最新版本| 欧美人交a欧美精品| 久久se精品一区二区| 美国成人直播| 欧美日韩性生活视频| 欧美日一区二区在线观看| 国产精品网红福利| 精品91久久久久| 最新国产乱人伦偷精品免费网站 | 亚洲在线黄色| 欧美一站二站| 欧美激情国产高清| 欧美色中文字幕| 狠狠色狠狠色综合日日91app| 亚洲黄色片网站| 亚洲亚洲精品三区日韩精品在线视频 | 久久亚洲欧美| 欧美日本中文| 国产一区二区三区网站 | 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 国产精品自拍在线| 一色屋精品视频免费看| 亚洲精品影院在线观看| 午夜视频一区二区| 欧美精品电影在线| 国产精品网站视频| 91久久嫩草影院一区二区| 亚洲永久精品国产| 久久精品一区二区三区不卡牛牛| 欧美成人在线免费观看| 国产三级精品三级| 99精品欧美一区二区三区综合在线| 欧美一区午夜精品| 欧美精品在线一区| 国产综合精品| 一区二区三区国产| 久久综合伊人77777麻豆| 欧美亚日韩国产aⅴ精品中极品| 欧美午夜三级| 在线观看一区| 18成人免费观看视频| 亚洲欧美日韩一区二区在线| 欧美国产日本| 亚洲第一精品夜夜躁人人躁| 亚洲综合视频一区| 欧美日韩三级在线| 在线看片欧美| 久久激情五月婷婷| 久久婷婷国产综合精品青草| 久久人体大胆视频| 欧美精品色网| 欧美精彩视频一区二区三区| 国产精品日韩欧美| 中文一区二区| 欧美日韩免费精品| 亚洲第一福利在线观看| 欧美在线一级va免费观看| 国产精品视频yy9299一区| 99精品国产在热久久下载| 国产乱码精品1区2区3区| 美国三级日本三级久久99| 亚洲美女免费精品视频在线观看| 国产精品亚洲综合天堂夜夜| 欧美二区视频| 久久久久久久网站| 亚洲欧美激情诱惑| 国产精品国产三级国产专区53| 亚洲精品中文字幕在线| 欧美日韩成人在线视频| 亚洲影院在线| 亚洲成人在线视频播放| 国产精品高清在线观看| 久久这里只有精品视频首页| 一区二区三区四区国产精品| 激情欧美一区二区三区| 国产美女一区二区| 欧美日韩久久不卡| 美女视频黄a大片欧美| 羞羞答答国产精品www一本| 亚洲人久久久| 在线观看中文字幕亚洲| 国产一区二区三区直播精品电影| 欧美日韩在线播放三区| 农夫在线精品视频免费观看| 香蕉久久夜色精品| 亚洲一区二区三区三| 久久综合给合久久狠狠色| 午夜天堂精品久久久久| 一区二区三区我不卡| 国产精品日韩电影| 欧美日韩久久精品| 欧美精品入口| 欧美激情中文字幕乱码免费| 久久综合国产精品| 久久久久国产精品厨房| 久久国产精品久久久久久久久久| 宅男66日本亚洲欧美视频| 亚洲精品视频啊美女在线直播| 一区二区三区自拍| 好看的日韩av电影| 精品av久久久久电影| 禁断一区二区三区在线| 在线观看国产欧美| 亚洲高清三级视频| 亚洲精品国产精品乱码不99 | 国产精品成人一区二区艾草| 在线观看日韩www视频免费| 欧美一级视频免费在线观看| 亚洲日本黄色| 亚洲精品一区二区三| 亚洲国产乱码最新视频| 亚洲国产精品久久久久婷婷884| 国产亚洲成人一区| 黄色成人免费观看| 91久久国产综合久久91精品网站| 亚洲黄色成人| 中文成人激情娱乐网| 午夜影视日本亚洲欧洲精品| 久久久久欧美| 欧美激情久久久久| 国产精品久久久一区二区三区| 国产偷久久久精品专区|