肥西县重点工程建设管理局网站,帝国cms做搜索网站,php做彩票网站吗,wordpress前台写文章今天是项目的第二天
昨天一顿迷茫,可恶
今天啥也不关先来点基本的构架
#includequeue//队列
#define FALSE 0
#define TRUE 1
#define ERROR 0
#define OK 1
#define nocnect 999999//未链接的距离
#define maxplace 31//景区的观景点的最大个30数不要0下标的
#defi…今天是项目的第二天
昨天一顿迷茫,可恶
今天啥也不关先来点基本的构架
#includequeue//队列
#define FALSE 0
#define TRUE 1
#define ERROR 0
#define OK 1
#define nocnect 999999//未链接的距离
#define maxplace 31//景区的观景点的最大个30数不要0下标的
#define SpotName 30//景点名字字符串长度 前面的定义先,对于一些功能的时候(bfs)的时候要用到队列,本来想写的,但是呀
c可以直接实现就没写了.
typedef struct {int elem[maxplace];//记录最短路径上的顶点序号int top;
}PathStack;
//顺序栈
第一个对栈的定义
int stackStar(PathStack* S) {S-top 0;return OK;
}
//栈的初始化int StackIsEmpty(PathStack S) {if (S.top 0) {return TRUE;}return FALSE;
}
//检查栈是否为空int Push(PathStack* S, int e) {if (S-top maxplace) {return ERROR;}S-elem[S-top] e;S-top;return OK;
}
//入栈int Pop(PathStack* S, int* e) {if (S-top 0) {return ERROR;}S-top--;*e S-elem[S-top];
}
//出栈栈的各种操作
用栈的主要的
要是有删除景点的地点个话可以标记
typedef struct palceDrop {char name[50];//名字int number;//编号char brief_introduction[500];//简介
}drop;
//进去地点的节点
定义的基本7的节点,目前就写了,这些后面也许会添加一些
typedef struct {palceDrop drops[maxplace];double map[maxplace 1][maxplace 1];//邻接矩阵int Points, edges;//当前顶点数、边数
}AMGraph;
//地图的全部,边,点,节点数组,矩阵存边
这是总地图 ,包含了节点数组
有节点的个数,以及边的条数(有的景点未必可通的)图的遍历,最短路以及floyed
typedef struct {int p[maxplace 1];//标记该顶点是否已求出最短路径p[]数组double Shortest[maxplace 1];//记录当前到i的最短路径t[]数组int PrePath[maxplace 1];//记录当前最短路径的前驱顶点以及next
}Dij_AssistArray;
//djs的辅助数组
typedef struct {double Shortest[maxplace 1][maxplace 1];//记录当前最短路径int PrePath[maxplace 1][maxplace 1];//记录当前最短路径的前驱顶点
}Floyd_AssistArray;
//floyed的辅助数组
直接定义,不用定义成山散乱的变量了
用的会更方便
写这项目,肯定会用到的
但是djsterl我还没想好咋用,floyed可以直接用求各个景点的最近的距离
单源最短路大概会用在使用者依据自己当前的距离来计算最短路
void enterData(AMGraph* f) {FILE* fp fopen(D:\\xunlei\\wyclx\\景区旅游咨询系统\\data1.txt, r);FILE* fd fopen(D:\\xunlei\\wyclx\\景区旅游咨询系统\\data2.txt, r);if (fp NULL || fd NULL) {printf(位置错误,文件未打开\n);exit(0);}fscanf(fp, %d, f-Points);//点数fscanf(fp, %d, f-edges);//边数for (int h 1; h f-Points;h)for (int j 1;j f-Points;j)f-map[h][j] nocnect;//初始化for (int h 1;h f-Points;h)f-drops[h].number h;//编号的初始化for (int p 1;p f-edges;p) {int x0;//点1int y0;//点2double ll0;//两个景点的距离fscanf(fp, %d, x);fscanf(fp, %d, y);fscanf(fp, %lf, ll);f-map[x][y] ll;f-map[y][x] ll;//双向的}//对景点距离的录入,完善地图for (int h 1;h f-Points;h) {fscanf(fd, %s, f-drops[h].name);char a[200];while(fscanf(fd, %s, a) ! 0)strcpy(f-drops[h].brief_introduction, a);}//对名字以及简介的输入fclose(fp);fclose(fd);
}
//对数据的输入(暂时没有计算最短路)
文件的操作,但是还只是测试了一部分,还未全测试完
对于文件的操作还是不熟悉,用的实在是太少了
void star() {AMGraph* f (AMGraph*)malloc(sizeof(AMGraph));enterData(f);Floyd_AssistArray* fl (Floyd_AssistArray*)malloc(sizeof(Floyd_AssistArray));floyedachieve(f,fl);}
//开始入口函数(未完成)
入口函数 ,暂时的话还未完成目前只有,定义地图,以及求广源的最短路,之后的话会把菜单以及,其他的东西加入慢慢的补全
题目的话今天打了,测试暂时讲不出个啥
被薄纱了,玩不了一点!!!
先搞好项目,回头要把场子找回来
今天
先到这了,撒花谢幕