北京理工大学数据结构课程设计专题报告(图)公交线路查询

北京理工大学数据结构课程设计专题报告(图)公交线路查询
北京理工大学数据结构课程设计专题报告(图)公交线路查询

专题设计(图)报告

题目:公交线路查询

小组成员:

问题描述

当一个用户从甲地到乙地时,由于不同需求,就有不同的交通方式及不同的交通路线。有人希望以最快速度到达,有人希望以最短距离到达,有人希望用最少的费用等。交通方式有公交车和地铁。编写一北京公交线路查询系统,通过输入起始站、终点站,为用户提供三种或以上决策的交通咨询。

设计要求

a. 提供对交通线路进行编辑功能。要求可添加或删除线路。

b. 提供两种交通工具,公交车和地铁,设定路程所需要的时间、距离及费用等参数。

c. 提供多种决策:最短距离、最快到达、最少费用、最少换乘次数等。

d. 中途不考虑等候、拥堵等消耗时间。

e. 该系统以人机对话方式进行。用户输入起始站、终点站及需求原则,系统输出乘车方案:乘什么车、乘几路车、距离、时间、费用换乘方法等相关信息。

数据结构

本程序运用了关于图这种数据结构。

它的抽象数据类型定义如下:

typedef struct unDiGraph

{

int numVerts; //结点

costAdj cost; //邻接矩阵

}unDiGraph,*UNG;

基本操作:

unDiGraph* CreateCostG()

操作结果:构造带权(费用)图。

unDiGraph* CreateTimeG()

操作结果:构造带权(时间)图。

构造地铁带权(费用)图。

PathMat *Floyed(unDiGraph *D)

操作结果:Floyed函数求任意两点的最短路径。

设计与实现

算法思路

(1) 数据存储。站点信息(站点代码)、交通信息(站点间的里程、公交和地铁时刻)存储于磁盘文件。建议把站点信息存于文件前面,交通信息存于文件的后面,用fread和fwrite函数操作。

(2) 数据的逻辑结构。根据设计任务的描述,其站点间的交通问题是典型的图结构,可看作为有向图,图的顶点是站点,边是站点之间所耗费的时间(要包括中转站的等候时间)或车费。

(3) 数据的存储结构。采用邻接表和邻接矩阵都可作为数据的存储结构,但当邻接边不多时,宜采用邻接表,以提高空间的存储效率。这里建议采用邻接表作为数据的存储结构。

(4) 用不同的功能模块对站点信息和交通信息进行编辑。添加、修改、删除功能可用菜单方式或命令提示方式。只要能方便的对站点信息和交通信息进行管理即可。

(5) 最优决策功能模块(fast or province)。

①读入信息和交通信息,用邻接表生成含权网络,表头数组中的元素存放站点名及对方站点到达该元素所代表站点的所有信息;表头数组中的元素所对应的单链表存放与该元素所代表的站点有交通联系的站点(代码、里程、公交和地铁车次)。

②根据具体最优决策的要求,用Dijkstra算法求出出发站点到其它各站点的最优值(最短时间或最小的费用),搜索过程中所经过站点的局部最优信息都保存在邻接表的表头数组中。其目的站点所代表的元素中就保存了所需的最优决策结果。这过程中,要用队列或栈保

存局部最优决策值(局部最短的时间或最省的费用)变小的站点,其相应的初始值可为∞,并在表头数组对应的站点元素中保存响应的信息。开始时,栈(队)中只有出发站点,随着对栈(队)顶(首)站点有交通联系的站点求得决策值(最短时间或最小的费用),若该值是局部最优值且该站点不在栈(队)中,则进栈(队),直至栈(队)为空。

③输出结果。从目的站点出发,搜索到出发站点,所经过的站点均入栈,再逐一出栈栈中的站点,输出保存在表头数组中对应站点的信息(对方站点的出发信息,里程、时间、费用等)及最终结果。即输出依次于何时何地乘坐几点的公交或地铁于何时到达何地;最终所需的最快需要多长时间才能到达及费用,或者最少需要多少车费才能到达及时间。

(6) 主程序可以有系统界面、菜单;也可用命令提示方式;选择功能模块执行,要求在程序运行过程中可以反复操作。

算法思想

本程序运用了图的知识

并利用Floyed函数求带权图两点之间的最短路径。通过对图表求最短路径,就可以最短道从一站点到另一站点之间最省时间和最省费用的走法。

程序模块

程序的模块为

#include

#include

#include

#include

#include

#include //引用的文本件

#define INF 65535 //定义一个最大数定为无穷值

#define MAX 13

typedef int costAdj[MAX+1][MAX+1];//图邻接矩阵从1开始记数

int Path[MAX+1][MAX+1];//图邻接矩阵从1开始记数

int o[13],h;

typedef struct unDiGraph

{

int numVerts; //结点

costAdj cost; //邻接矩阵

}unDiGraph,*UNG; //图的定义

costAdj B,L;

void pr(int i)//选择城市

void pri()//输出城市

unDiGraph *CreateCostG()//构造带权(费用)图返回首地址G:

unDiGraph *CreateTimeG()//构造带权(时间)图返回首地址G:

unDiGraph *CreateFlyG()//飞机的相关信息

void Floyed(unDiGraph *D,unDiGraph *M) //Floyed函数求任意两点的最短路径::

void prn_pass(int i,int j) //为了求从i到j的最短路径,只需要调用如下的过程void time()//求最少时间路径。。

void money()//求最少花费路径

void administrator()//管理员功能

void main()//main函数

测试与结论

显示站点

选择最短时间路线

选择最少花费路线

增加站点并测试

总结与思考

拿到题目的时候比较困惑,毕竟我们的C/C++学的不是很好,后来看了很多有关的例子,仔细看了书上的图部分的知识,觉得就是书上的许许多多的内容和代码,其实总体来说,应该不会特别的难。

后来,参照书上的和网上的诸多例子,一个模块一个模块的编写,调试,一个功能一个功能去完善。发现越做越顺利,又有以前用C/C++写的各个程序的代码,回头看了一下自己当年编写的程序,加上实验中对于改错的经验积累和几个学得不错的同学的帮助,我们小组的程序中的错误也一个一个的顺利解决。

其实,这个对于文本文件的操作以前也有涉及到过,但是以前的时候总是以数组或者指针的形式进行调用,这一次直接才有的是I/O流,觉得效果还是很不错的。

再后来,程序终于就基本实现了。其实,从这次实验中我们认识到,编程有很多的乐趣也有很多的技巧性和知识性。我们将在以后的日子里继续认真的学习知识,积累经验,让自己的编程能力提高。

附录

程序源代码

#include

#include

#include

#include

#include

#define INF 65535 //定义一个最大数定为无穷值

#define MAX 23

static int c_number=13;

static int k=0;

static int v=0,z=0,r=0,t=0;

typedef struct zhu

{

int c_cost;

int c_time;

int f_cost;

int f_time;

}zhu;

zhu m[20],x[20],n[20];

typedef int costAdj[MAX+1][MAX+1]; //图邻接矩阵从1开始记数int Path[MAX+1][MAX+1]; //图邻接矩阵从1开始记数

typedef struct unDiGraph

{

int numVerts; //结点

costAdj cost; //邻接矩阵}unDiGraph,*UNG; //图的定义

typedef struct c_edit

{

char a[10];

}c_edit;

c_edit add[10];

costAdj B,L;

int pr(int i,int j)

{

int h=0;

if(j==0) {h=i;}

else if(j==1) {cin>>add[i].a;}

switch(h)//运用switch语句。

{

case(0):cout<<"";break;

case(1) : cout<<"A ";break;

case(2) : cout<<"B ";break;

case(3) : cout<<"C ";break;

case(4) : cout<<"D ";break;

case(5) : cout<<"E ";break;

case(6) : cout<<"F ";break;

case(7) : cout<<"G ";break;

case(8) : cout<<"H ";break;

case(9) : cout<<"I ";break;

case(10) : cout<<"J ";break;

case(11) : cout<<"K ";break;

case(12) : cout<<"L ";break;

case(13) : cout<<"M ";break;

default : cout<

}

return 1;

}

//输出站点列表及相应代码

void pri()

{

int i;

cout<<" 站点及其代码"<

cout<<"

*********************************************************"<

for (i=1;i<=c_number;i++)

{cout<

cout<

*********************************************************"<

}

//构造带权(费用)图返回首地址G:

unDiGraph *CreateCostG(int o)//公交的花费的存贮和编辑功能

{

unDiGraph *G;

int i,j;

int a=0,b=0,f,h=1;

if(!(G=(unDiGraph *)malloc(sizeof(unDiGraph))))return(NULL); //为G分配存储空间。

for(i=1;i

{

for(j=1;j

{

G->cost[i][j]=INF; //初始化使G->cost[i][j]为无穷。

}

}

G->numVerts=c_number;

G->cost[1][6]=G->cost[6][1]=9;

G->cost[1][2]=G->cost[2][1]=8;

G->cost[2][3]=G->cost[3][2]=5;

G->cost[3][4]=G->cost[4][3]=5;

G->cost[4][5]=G->cost[5][4]=4;

G->cost[5][6]=G->cost[6][5]=9;

G->cost[5][8]=G->cost[8][5]=6;

G->cost[5][7]=G->cost[7][5]=6;

G->cost[6][7]=G->cost[7][6]=6;

G->cost[7][9]=G->cost[9][7]=2;

G->cost[3][11]=G->cost[11][3]=6;

G->cost[11][12]=G->cost[12][11]=1;

G->cost[12][10]=G->cost[10][12]=7;

G->cost[3][10]=G->cost[10][3]=3;

G->cost[13][10]=G->cost[10][13]=5;

G->cost[13][5]=G->cost[5][13]=11;

if (o)

{

while(h==1)

{

v=v+1;

pri();

cout<<"公交花费编辑"<

cout<<"请输入开始站点的代码"<

cin>>a;

cout<<"请输入结尾站点的代码"<

cin>>b;

cout<<"请输入你的两地花费"<

cin>>m[v].c_cost;

n[v].c_cost=a;

x[v].c_cost=b;

cout<<"请选择"<

cout<<"*********************************************************"<

cout<<"1:继续更改站点费用"<

cout<<"0:返回上一级菜单"<

cout<<"*********************************************************"<

cin>>h;

switch(h)

case 1: h=1;break;

case 0: h=0;break;

default:{cout<<"选择出错"<

}

}

}

f=v+1;

while (v--) {G->cost[n[v].c_cost][x[v].c_cost]=m[v].c_cost;}

v=f;

return(G);

}

//构造带权(时间)图返回首地址G:

unDiGraph *CreateTimeG(int o)//公交的时间的存贮和编辑功能

{

unDiGraph *G;

int i,j;

int a=0,b=0,f,h=1;

if(!(G=(unDiGraph *)malloc(sizeof(unDiGraph)))) return(NULL); //为G分配存储空间。

for(i=1;i

{

for(j=1;j

{

G->cost[i][j]=INF;//初始化使G->cost[i][j]为无穷。

}

}

G->numVerts=c_number;

G->cost[1][6]=G->cost[6][1]=9;

G->cost[1][2]=G->cost[2][1]=8;

G->cost[2][3]=G->cost[3][2]=5;

G->cost[3][4]=G->cost[4][3]=5;

G->cost[4][5]=G->cost[5][4]=4;

G->cost[5][6]=G->cost[6][5]=9;

G->cost[5][7]=G->cost[7][5]=6;

G->cost[5][8]=G->cost[8][5]=6;

G->cost[6][7]=G->cost[7][6]=6;

G->cost[7][9]=G->cost[9][7]=2;

G->cost[3][11]=G->cost[11][3]=6;

G->cost[11][12]=G->cost[12][11]=1;

G->cost[12][10]=G->cost[10][12]=6;

G->cost[3][10]=G->cost[10][3]=3;

G->cost[13][10]=G->cost[10][13]=6;

G->cost[13][5]=G->cost[5][13]=11;

{

while(h==1)

{

z=z+1;

pri();

cout<<"公交时间编辑"<

cout<<"请输入开始站点的代码"<

cin>>a;

cout<<"请输入结尾站点的代码"<

cin>>b;

cout<<"请输入你的两地时间"<

cin>>m[z].c_time;

n[z].c_time=a;

x[z].c_time=b;

cout<<"请选择"<

cout<<"*********************************************************"<

cout<<"1:继续更改站点时间"<

cout<<"0:返回上一级菜单"<

cout<<"*********************************************************"<

cin>>h;

switch(h)

{

case 1: h=1;break;

case 0: h=0;break;

default:{cout<<"选择出错"<

}

}

}

f=z+1;

while (z--) {G->cost[n[z].c_time][x[z].c_time]=m[z].c_time;}

z=f;

return(G);

}

unDiGraph *CreateTimeF(int o)//地铁的时间的存贮和编辑功能

{

unDiGraph *G;

int i,j;

int a=0,b=0,f,h=1;

if(!(G=(unDiGraph *)malloc(sizeof(unDiGraph)))) return(NULL); //为G分配存储空间。

for(i=1;i

{

for(j=1;j

{

G->cost[i][j]=INF;//初始化使G->cost[i][j]为无穷。

}

}

G->numVerts=c_number;

G->cost[1][6]=G->cost[6][1]=3;

G->cost[1][2]=G->cost[2][1]=2;

G->cost[2][3]=G->cost[3][2]=1;

G->cost[3][4]=G->cost[4][3]=2;

G->cost[4][5]=G->cost[5][4]=4;

G->cost[5][6]=G->cost[6][5]=3;

G->cost[5][7]=G->cost[7][5]=6;

G->cost[5][8]=G->cost[8][5]=6;

G->cost[6][7]=G->cost[7][6]=6;

G->cost[7][9]=G->cost[9][7]=2;

G->cost[3][11]=G->cost[11][3]=6;

G->cost[11][12]=G->cost[12][11]=1;

G->cost[12][10]=G->cost[10][12]=2;

G->cost[3][10]=G->cost[10][3]=3;

G->cost[13][10]=G->cost[10][13]=6;

G->cost[13][5]=G->cost[5][13]=1;

if (o)

{

while(h==1)

{

t=t+1;

pri();

cout<<"地铁时间编辑"<

cout<<"请输入开始站点的代码"<

cin>>a;

cout<<"请输入结尾站点的代码"<

cin>>b;

cout<<"请输入你的两地时间"<

cin>>m[t].f_time;

n[t].f_time=a;

x[t].f_time=b;

cout<<"请选择"<

cout<<"*********************************************************"<

cout<<"1:继续更改站点时间"<

cout<<"0:返回上一级菜单"<

cout<<"*********************************************************"<

cin>>h;

switch(h)

{

case 1: h=1;break;

case 0: h=0;break;

default:{cout<<"选择出错"<

}

}

}

f=t+1;

while (t--) {G->cost[n[t].f_time][x[t].f_time]=m[t].f_time;}

t=f;

return(G);

}

unDiGraph *CreateCostF(int o)//地铁花费的存贮和编辑功能

{

unDiGraph *G;

int i,j;

int a=0,b=0,f,h=1;

if(!(G=(unDiGraph *)malloc(sizeof(unDiGraph)))) return(NULL); //为G分配存储空间。

for(i=1;i

{

for(j=1;j

{

G->cost[i][j]=INF; //初始化使G->cost[i][j]为无穷。

}

}

G->numVerts=c_number;

G->cost[1][6]=G->cost[6][1]=9;

G->cost[1][2]=G->cost[2][1]=7;

G->cost[2][3]=G->cost[3][2]=5;

G->cost[3][4]=G->cost[4][3]=5;

G->cost[4][5]=G->cost[5][4]=4;

G->cost[5][6]=G->cost[6][5]=9;

G->cost[5][8]=G->cost[8][5]=6;

G->cost[5][7]=G->cost[7][5]=6;

G->cost[6][7]=G->cost[7][6]=6;

G->cost[7][9]=G->cost[9][7]=2;

G->cost[3][11]=G->cost[11][3]=6;

G->cost[11][12]=G->cost[12][11]=3;

G->cost[12][10]=G->cost[10][12]=6;

G->cost[3][10]=G->cost[10][3]=3;

G->cost[13][10]=G->cost[10][13]=6;

G->cost[13][5]=G->cost[5][13]=11;

if (o)

{

while(h==1)

{

r=r+1;

pri();

cout<<"地铁花费编辑"<

cout<<"请输入开始站点的代码"<

cin>>a;

cout<<"请输入结尾站点的代码"<

cin>>b;

cout<<"请输入你的两地花费"<

cin>>m[r].f_cost;

n[r].f_cost=a;

x[r].f_cost=b;

cout<<"请选择"<

cout<<"*********************************************************"<

cout<<"1:继续更改站点费用"<

cout<<"0:返回上一级菜单"<

cout<<"*********************************************************"<

cin>>h;

switch(h)

{

case 1: h=1;break;

case 0: h=0;break;

default:{cout<<"选择出错"<

}

}

}

f=r+1;

while (r--) {G->cost[n[r].f_cost][x[r].f_cost]=m[r].f_cost;}

r=f;

return(G);

}

//Floyed函数求任意两点的最短路径:

void Floyed(unDiGraph *D,unDiGraph *M)

{

int i,j,k,n;

costAdj A,C;

n=c_number;

for(i=1;i<=n;i++)

{

for(j=1;j<=n;j++)

{

A[i][j]=D->cost[i][j];//初始化矩阵A。

C[i][j]=M->cost[i][j];

Path[i][j]=-1; //初始化矩阵p, 置-1.

}

}

for(k=1;k<=n;k++) //k为逐步加入的中间结点

{

for(i=1;i<=n;i++) //i为A中行号

{

for(j=1;j<=n;j++)

if(A[i][k]+A[k][j]

{A[i][j]=A[i][k]+A[k][j];

C[i][j]=C[i][k]+C[k][j];

Path[i][j]=k;//若i经过k到j比i到j小,则令A[i][j]=A[i][k]+A[k][j]。

B[i][j]=A[i][j];

L[i][j]=C[i][j];}

else

{B[i][j]=A[i][j];L[i][j]=C[i][j];}

}

}//end-for

cout<<"\n最短路径为: "<

}///end-Floyed

//为了求从i到j的最短路径,只需要调用如下的过程:

void prn_pass(int i,int j)

{

if(Path[i][j]!=-1)

{

prn_pass(i,Path[i][j]);//输出最短路径经过的所有点

pr(Path[i][j],0);

}

}

//求最少时间路径。

void time()

{

int Bcity,Ecity;//起始成市号码和终点站点号码

int l,h=1;

do

{

pri();//输出站点列表及相应代码。

cout<<"请输入起始站点和目的站点的代码,中间以空格隔开,范围(1-- "<

cin>>Bcity;cin>>Ecity;//输入起始站点和终点站点的代码。

if

(!((0

cout<<"\n出错啦!!! 输入站点号码请在1-"<

Floyed(CreateTimeG(0),CreateCostG(0));//调用Floyed函数。

pr(Bcity,0);// 显示起始站点。

prn_pass(Bcity,Ecity);//调用prn_pass函数,显示最短路径经过的站点。

pr(Ecity,0);//显示终点站点。

if (B[Bcity][Ecity]>5000||L[Bcity][Ecity]>10000) cout<<"两地间还没有线路通过"<

else

{

cout<<"公交花的钱是"<

cout<<"公交花的时间是"<

}

printf("\n\n 1.继续最少花费查找\n 2.返回主菜单\n 清选择...");

scanf("%d",&l); //输入1或2选择是否继续。

h=l;

} while(h==1);

printf("\n");

}

void f_time()

{

int Bcity,Ecity;//起始成市号码和终点站点号码

int l,h=1;

do

{

pri();//输出站点列表及相应代码。

cout<<"请输入起始站点和目的站点的代码,中间以空格隔开,范围(1-- "<

cin>>Bcity;cin>>Ecity;//输入起始站点和终点站点的代码。

if

(!((0

Floyed(CreateTimeF(0),CreateCostF(0));//调用Floyed函数。

pr(Bcity,0);// 显示起始站点。

prn_pass(Bcity,Ecity);//调用prn_pass函数,显示最短路径经过的站点。

pr(Ecity,0);//显示终点站点。

if (B[Bcity][Ecity]>5000||L[Bcity][Ecity]>10000) cout<<"两地间还没有线路通过"<

else

{

cout<<"地铁花的钱是"<

我叫包头今年我将是全国最牛逼的城市看完后你绝对不想离开

我叫包头,今年我将是全国最牛逼的城市看完后你绝对不 想离开! 草原铁路2017-02-282评小编说期待大变样后的包头~点击播放GIF/519K新的一年,新的开始,包头的蜕变早在进行中......今年包头将会发生什么变化呢?新增车位、机场扩容、城中村改造一大波综合体即将开放......包头真的要大变样了~包头首座立体停车场将投入使用目前,在青山区政府后院,一个巨大的立体停车场已建起来,这是我市第一个立体停车场。据小编了解得知,该处地面原本只能提供60个停车位,新建的立体停车场分两部分,一部分四层,一部分五层,可以提供近600个停车位。据介绍,立体停车场在一层配备有独立的停车设施,驾驶人只要将车辆停在指定位置,停车场的电子系统就会自动完成车辆停放工作。该停车场已基本建立完成,并进行了5天试用性测试,效果极佳,待验收合格后就可以投入使用了。目前正在安装立体停车场外墙,预计今年投入使用。包头地铁开工进入倒计时包头地铁迎来大车时代超前谋划带你走进A型车世界作为城市轨道交通的重要组成部分,车型的选择无疑至关重要,选型不仅涉及到车辆专业本身,对运行环境、运营服务水平、工程投资等也都有十分显著的影响。包头轨道交通线网规划获得国务院批复之后,经过专家论证,确定包头地铁将采用A型

车。揭开A型车的神秘面纱地铁车型是指铁(城市轨道交通)所用车辆的型号。在国内,地铁车型被划分为A、B、C 三种型号。其中,A型车体宽度为3米,B型车体宽度为2.8米,C型车体宽度为2.6米。一般来说,A型车一节车厢定员310人,B型车一节车厢定员230—250人,C型车定员200人左右。A型车每节有5对车门,而B型车每节只有4对车门。包茂高速包头至东胜段改扩建工程获批双向八车道新华网呼和浩特2月22日电(曹桢罗杰)22日,新华网从内蒙古高等级公路建设开发有限责任公司获悉,G65包茂高速公路包头至东胜段改扩建工程已获得批复。此次改扩建将采用双向八车道高速公路标准建设。据了解,工程将于3月进行施工单位招标。项目主线全长76公里,估算总投资约为81.29亿元。内蒙古高路公司承建项目贷款50亿元近日已获批。包茂高速公路是我国“五纵五横”综合运输大通道的重要组成部分,也是连接我国华北、西北、西南的纵向大通道。包头机场扩建近日,中国民航局发布《中国民用航空发展第十三个五年规划》(简称“《规划》”),描绘了到2020年民航产业发展蓝图,并提出系列目标。“十三五”期间全国续建、新建机场项目74个。梳理发现,这74个项目中,包括7个内蒙古的项目。另外,在改扩建和迁建机场项目中也有不少内蒙古的项目。包头,就是改扩建机场之一。交通综合枢纽霸气来袭包头立体交通综合枢纽项目位于包头市

数据结构课程设计

1.一元稀疏多项式计算器 [问题描述] 设计一个一元稀疏多项式简单计算器。 [基本要求] 输入并建立多项式; 输出多项式,输出形式为整数序列:n, c1, e1, c2, e2,……, cn, en ,其中n是多项式的项数,ci, ei分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相加,建立多项式a+b; 多项式a和b相减,建立多项式a-b; [测试数据] (2x+5x8-3.1x11)+(7-5x8+11x9)=(-3.1x11+11x9+2x+7) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2-x2+7.8x15)=(-7.8x15-1.2x9-x+12x-3) (1+x+x2+x3+x4+x5)+(-x3-x4)=(x5+x2+x+1) (x+x3)+(-x-x3)=0 (x+x2+x3)+0=(x3+x2+x) [实现提示] 用带头结点的单链表存储多项式,多项式的项数存放在头结点中。 2.背包问题的求解 [问题描述] 假设有一个能装入总体积为T的背包和n件体积分别为w1, w2, …,wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wn=T,要求找出所有满足上述条件的解。例如:当T=10,各件物品的体积为{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)、(1,4,5)、(8,2)、(3,5,2) [实现提示] 可利用回溯法的设计思想来解决背包问题。首先,将物品排成一列,然后顺序选取物品转入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品“太大”不能装入,则弃之而继续选取下一件,直至背包装满为止。但如果在剩余的物品中找不到合适的物品以填满背包,则说明“刚刚”装入背包的那件物品“不合适”,应将它取出“弃之一边”,继续再从“它之后”的物品中选取,如此重复,直至求得满足条件的解,或者无解。 由于回溯求解的规则是“后进先出”因此自然要用到栈。 3.完全二叉树判断 用一个二叉链表存储的二叉树,判断其是否是完全二叉树。 4.最小生成树求解(1人) 任意创建一个图,利用克鲁斯卡尔算法,求出该图的最小生成树。 5.最小生成树求解(1人) 任意创建一个图,利用普里姆算法,求出该图的最小生成树。 6.树状显示二叉树 编写函数displaytree(二叉树的根指针,数据值宽度,屏幕的宽度)输出树的直观示意图。输出的二叉树是垂直打印的,同层的节点在同一行上。 [问题描述] 假设数据宽度datawidth=2,而屏幕宽度screenwidth为64=26,假设节点的输出位置用 (层号,须打印的空格数)来界定。 第0层:根在(0,32)处输出;

哈尔滨城市公交的变迁

哈尔滨城市公交的变迁 “60年前,街上的汽车很少,自行车还是家庭主要交通工具,人们为了坐公交车经常要走现在的两三站地。去一个远些的地方经常要倒两三次车。飞机更是只有极少数人才能见识到,更别说乘坐了。”谈起交通工具的变化,。 上个世纪70年代,参加工作后,最想要的就是一辆自行车。当时自行车与缝纫机、手表并称为“三大件”,地位无异于现在的私家车。当时购买自行车都得凭票,每年一个单位最多能分到十几张购车票,能有幸分到票的人自然不多。“那时候如果家里能拥有一辆崭新的自行车是令人羡慕的。”李云生告诉记者,当时大伙儿上下班的交通工具,除了公交车外,绝大多数都骑自行车或步行。一般人对汽车是没有概念的,买车?那时连做梦都不敢想。 上世纪70年代末期,永久、凤凰、飞鸽等品牌的自行车开始风靡中国。其中牌子最响的是永久和凤凰牌。那时,有一辆自行车的感觉不亚于现在有辆轿车的感觉,尤其是骑“永久”就像开奔驰一样有面子,而一辆“凤凰”就像现在有一辆皇冠一样。、 如今,自行车、摩托等交通工具正被新的变化所取代,而且是翻天覆地的变化。老百姓出门“打的”已成家常便饭。大街小巷明显增多的公交车,方便了百姓的出行。更大的变化则是私家车的逐年增多,让老百姓的生活“安”上了车轮。据统计,目前私家车保有量仍在以飞快的速度增长着,其中私人购车正成为生力军。 在中心城区某家眼镜行做生意的陈凌军就是其中的一位“有车族”,今年刚26岁的他在两年时间里已经换了三台车了,并且拥有一家自己的洗车场。陈凌军现在开的是一辆海马海福星,这辆车是他在今年4月份花6万元买下的新车。而车刚一到手,他又花了1万多元对爱车进行了改装。尾翼、包围、轮毂、引擎盖……白色的小轿车摇身一变充满了赛车动感“我坐过的第一辆轿车是我父亲单位的。”由于年纪太小,他已经不记得最早坐过什么车型了。不过,陈凌军清楚地记得他父亲曾经告诉过他:他后来偶尔能坐上的那辆轿车是用600斤猪肉换回来的。到现在为止,他对此记忆犹新。就是因为父亲说的“600斤猪肉”这一句话,小小年纪的他直接明了地理解了轿车的珍贵性。因为,他当时最大的梦想是“能有丁

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

哈尔滨公交车线路路

哈尔滨公交车线路 1-90路

————————————————————————————————作者:————————————————————————————————日期:

哈尔滨公交车线路 1--90 线 1 5:00—21:30 港务局·油石厂·造纸厂·毛织厂·靖宇二十道街·十六道街·十二道街·七道街·头道街·承德广场·南马路·时装大厦·道里十二道街·经纬街·高谊商店·车辆厂文化宫 2 6:30—19:30 友谊路·上游街·(上行高谊街·东风街·经纬街)(通江街·道里十二道街·建筑艺术广场下行)哈三中·建设街·工人文化宫·文昌街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·香坊大街 2 (空调) 6:30—19:30 友谊路·上游街·通江街·西十二道街·时装大厦·哈三中·秋林公司·工人文化宫·文昌街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·红旗大街 3 5:00—21:30 外环北路·承德广场·巴士大厦·烟厂·文化公园·先锋路·大成街·理治街·宣化街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·红旗大 街 4 5:00—21:30 承德广场·巴士商贸大厦·滨江站·十四道街·十六道街·二十道街·太平桥·太平文化宫·二商店·道口街·新一街 5 5:00—21:30

红旗小区·辽河路·辽河小区·嵩山路·先锋小区·先锋路·新发小区·南极街·巴士大厦(分区点)·哈一百(时装大厦)·道里市场·北安街(分区点)·安升街·安和街·共乐街·松拖·康安路·顾乡 5 (空调) 6:30—20:00 顾乡·康安路·松拖·中心医院·安和街·安升街·北安街·哈尔滨第一百货商店·哈商厦·金太阳精品城·南马路·南平街·巴士大厦·新发小区·先锋路·先锋小区·嵩山小区·辽河小区·淮河路·红旗小区 6 5:00—21:30 哈站·秋林公司·医大一院·烟厂(分区点)·文化公园·冰上基地·太平桥·太平文化宫·二商店·哈东站 6 (空调) 5:00—21:30 哈尔滨火车站·秋林公司·哈医大一院·烟厂·文化公园·冰上基地·太平桥·太平文化宫·二商店·哈东站 7 5:30—21:30 省航运医院·靖宇街·南勋街·太古街·滨江站·肉联厂·电缆厂·烈士馆·哈站·博物馆·秋林公司·儿童公园·革新街·省图书馆·文昌街·中宣街·宣庆小区·长江路·华山路·创业中心·建北小区·省电力医院 8 5:30—21:30 友谊宫·友谊路·儿童医院·兆麟公园·市医院·时装大厦(哈一百)·三中·秋林(分区点)·儿童公园·革新街·省图书·宣化街·芦家街·省体 校 9 6:00—19;30

长沙公交线路列表

长沙公交线路列表(按车次顺序排列) 1路(长沙火车站--碧沙湖)2路(桔园小区--湘雅) 4路(劳动广场--仁和家园)6路(赤岗冲--长郡中学新校区) 7路(长沙火车站--汽车南站)8路(新星小区--长郡中学) 9路(金霞苑--长沙火车站)11路(赤岗冲--新河) 12路(长沙火车站--高叶塘)15路(中山亭--经干院) 16路(汽车南站--长沙火车南站)17路(汽车西站--汽车南站) 18路(橘子洲景区--麓谷大道)19路(科技职院--芙蓉苑) 63路(汽车西站--长沙火车南站)66路(汽车西站--长沙火车南站)101路(德汇路口--碧沙湖)102路(汽车南站--芙蓉广场) 103路(汽车南站--汽车东站)104路(长沙火车站--猴子石路口) 105路(大托机场--中山亭)106路(华夏--王家湾) 107路(长沙火车站--汽车南站)108路(长沙火车站--劳动广场) 109路(陈家湖--望岳小区)110路(长沙火车站--湖南农大) 111路(华夏--长沙火车站)112路(汽车北站西--马王堆医院南) 113路(长沙火车站--163医院)114路(长沙火车站--黄花机场) 115路(四方坪--浦沅)116路(万芙路--新河) 117路(长沙火车站--观沙岭小区)118路(长沙火车站--麓松路) 120路(赤岗冲--同升湖)121路(长沙火车站--上白沙湾(省医药学校))122路(南郊公园--马栏山)123路(汽车南站--培元桥) 124路(长沙火车南站--长沙火车南站)126路(长沙火车站--汽车东站)127路(长沙火车站--长沙卫校)128路(青竹湖镇--解放西路口) 130路(劳动广场--汽车东站)131路(四方坪--白沙湾路) 132路(世界之窗--牌楼口)133路(四方坪--新港镇)

长沙市交通状况调查及分析报告

长沙市交通状况调查及分析报告 城市的交通系统就像一个城市的血脉,是保持城市活力最主要的基础设施。近年来随着人民生活水平的提高,轿车大规模进入家庭, 中国城市交通问题变得越来越严峻,已经成为许多城市所面临的难题之一。长沙位于华中地区,是湖南省会,顶多就是一个中型城市,但是长沙的交通拥堵现状却可以和北京上海等大城市相提并论。本文简述了长沙的交通状况,通过分析出现的问题来寻求解决的方法,希望能为解决长沙市交通问题,为促进长沙市城市交通系统健康可持续发展提供参考。 截至2009年末,长沙市总人口量为664.22 万人,根据调查2010 年,长沙市(含5区4县市)机动车保有量达97万多辆。到2011年,长沙市交警部门称,长沙市机动车保有量突破100 万辆大关,其中6 成以上为汽车,经计算可知每6.6个长沙人就拥有1 台机动车。可以说,长沙的汽车已进入大众普及阶段。到目前为止,长沙拥有公交运营线120多条,路线总长度达2000多公里,营运车辆有3900 多辆,公交从业人员近万人。但是公交车平均速度为20 公里/时,上下班时甚至只有10-15公里/时。按照北京等大城市的拥堵标准,时速20 公里以上的平均时速属于绿色交通,时速15至20公里之间是拥堵黄色预警信号,而时速低于15 公里属于拥堵红色预警。有专家称,目前长沙主城区在下班高峰时段,时速已低至16 公里。从以上种种现状我们可以清楚的了解长沙的交通状况,即人多车多路堵,具体表现为城市道路交通压力大,交通堵塞严重,公交优势不明显。下面就具体

交通状态做简单阐述 问题之一:道路网增长速度赶不上机动车增长速度 在《2009长 沙市交通状况年度报 告》一文中有这么一张 图,从图中可以清楚的 看 到2009年,步 行和公交车是 长沙市居民出 行选择的最主要方式,分 别占总出行的35.8%和23.0%。电动自行车 和小汽车在居民出行中也占据了15.7%和11.2%的较大比重。根据长沙市规划局的统计,近十年,全市机动车保有量一直保持15.5%年均高增长率。其中,2009年全市机动车保有量达74.6万辆,比上年新增15.2万辆,增长率达到25.6%,机动车平均每日增加416辆。尽管长沙市近几年来一直大力建设畅通工程,修路的速度却赶不上机动车增加的速度。2010年,城市轨道一、二号线、长株潭和长益常城际铁路、过江通道、东二环改造、城区交通疏导工程等一批重大项目强力推进和全面铺开,更是对长沙市的交通运行带来前所未有的冲击。“近几年长沙机动车保有量大幅增长,小汽车出行比重已由2007 年的9.7%上升至2009年的11.2%而长沙的道路网增长(长度、面积、密度的综合)却不到5%,交通供需不平衡必然造成

包头市城市轨道交通第一期建设规划(2016~2022年)

附件 包头市城市轨道交通第一期建设规划 (2016~2022年) 一、线网规划 依据城市总体规划和综合交通规划,包头市城市轨道交通线网远景规划由6条线路组成,总长182.5公里,设车站125座,其中换乘车站18座。预计2020年,公共交通系统占城市全方式出行比例达到20%,城市轨道交通占公共交通出行的比例达到35%。 二、建设规划 (一)建设方案 至2022年,建设1号线工程和2号线一期工程,线路总长42.1公里。 1号线工程自包钢至二里半机场站,线路长约27.8公里,设站22座,投资201.91亿元,规划建设期为2016~2021年。 2号线一期工程自新贤城至沼潭南站,线路长约14.3公里,设站11座,投资103.61亿元,规划建设期为2018~2022年。 (二)主要技术标准 采用最高运行时速80公里的B型车,6辆编组。在规划实施阶段,进一步深化主要技术标准和运营组织方案。 (三)资金安排 近期建设项目总投资为305.52亿元。其中资本金占40%,计122.21亿元,由包头市财政资金筹措,资本金以外的资金采用国内

银行贷款等融资方式解决。 (四)实施保障 近期建设项目由包头市政府组织实施,制定相关政策并安排专项资金用于保证建设和保障正常运营,结合城市开发进程,把握节奏、稳步推进项目建设,确保工程质量和安全。包头市地铁投资(集团)有限公司作为项目业主负责项目的投资、建设和运营。 在规划实施过程中,应结合包头市城市综合管廊试点,统筹规划、协调建设,避免相互制约。与铁路部门保持沟通,尽早稳定城市轨道交通下穿工程和与铁路客运站的换乘衔接节点。注重专业人才的引进和培养,保证项目顺利实施。专项规划设计车站周边土地利用和交通接驳,重点控制好车辆段和停车场建设用地。合理利用地上、地下空间资源,重视沿线物业开发,创新轨道交通投融资机制,探索设立轨道交通发展专项资金。努力提高运营效率,提升项目整体收益;积极吸引社会资本参与建设和运营,促进城市轨道交通可持续发展。 附:包头市城市轨道交通第一期建设规划(2016~2022年)示意图

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

长沙市公共交通存在的问题与对策

长沙市公共交通存在的问题与对策随着城市经济的发展,大城市交通状况日趋紧张,在某种程度上影响了城市经济进一步发展及人民生活水平的提高。我国是发展中国家,城市空间有限,而且城区人口密度相对较高,公共交通(本文仅就公共汽车进行探讨)与其它机动车交通方式相比,人均占用的能源、道路空间资源最少,人均排放的噪声、大气污染量最低,符合我国城市建设的可持续发展战略。因而,公共交通是解决我国大中城市交通问题最主要的手段。 1长沙市公共交通现状 长沙是全国历史文化名城,湖南省的省会,全域总面积为11819.5平方公里,其中市区面积556.3平方公里,建城区面积220平方公里。已建成道路总长864.75公里,道路总面积2129.87万平方米。至2006年4月28日,长沙市区人口208.67万人。 1.1 公共交通运营现状 长沙市现有湖南巴士、湖南龙骧巴士、万众公司、嘉年华巴士、众旺公司、凯程巴士、恒通巴士、三叶公司、红光公司等九家从事公交运营服务的公司。截止到2006年6月,长沙市现有公共汽车2692辆,公交线路98条,公交线路总长度1645.96公里,设置了1400多个停靠站点。 长沙公交系统运营现状见表1-1。 1.2 公共交通基础设施现状 1、长沙市市区公交线路平均长度为16.8公里,平均每条线路配车数27.5辆。

2、1998年以来长沙市共建港湾式停靠站94个,目前共有以下六条路设有公交专用车道:湘府路、芙蓉南路、岳麓大道、金星大道、万家丽路、东二环桂花路至远大路段。 3、目前长沙市市区共有公共交通车辆停车场25个,占地面积16.8211万平方米,停车泊位数为2276台,虽然进场率达到了73.2%,但是按建设部颁标准综合用地不少于200平方米/标台计算,仅能满足841标台的用地需求,用地缺口37.02万平方米,公共交通站场用地满足率仅为31.24%。长沙市公交停车场统计一览表具体见表1-2所示。 表1-2 长沙市公交停车场统计一览表 由表1-2可以看出,在25个停车场中,有产权停车场9个,占总数36%,停车泊位数1211个,停车面积8.9198万平方米,占总面积53.03%;租赁停车场13个,占总数52%,停车泊位数876个,停车面积6.2 868万平方米,占总面积37.37%;其他停车场3个,占总数12%,停车泊位数189个,停车面积1.3145万平方米,占总面积9.6%。见图1-1。 图1-1 2006年长沙市公交停车场类型构成统计图

哈尔滨公交车线路 1-90路

哈尔滨公交车线路线 — 港务局·油石厂·造纸厂·毛织厂·靖宇二十道街·十六道街·十二道街·七道街·头道街·承德广场·南马路·时装大厦·道里十二道街·经纬街·高谊商店·车辆厂文化宫 — 友谊路·上游街·(上行高谊街·东风街·经纬街)(通江街·道里十二道街·建筑艺术广场下行)哈三中·建设街·工人文化宫·文昌街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·香坊大街 (空调) — 友谊路·上游街·通江街·西十二道街·时装大厦·哈三中·秋林公司·工人文化宫·文昌街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·红旗大街 — 外环北路·承德广场·巴士大厦·烟厂·文化公园·先锋路·大成街·理治街·宣化街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·红旗大 街 — 承德广场·巴士商贸大厦·滨江站·十四道街·十六道街·二十道街·太平桥·太平文化宫·二商店·道口街·新一街 — 红旗小区·辽河路·辽河小区·嵩山路·先锋小区·先锋路·新发小区·南极街·巴士大厦(分区点)·哈一百(时装大厦)·道里市场·北安街(分区点)·安升街·安和街·共乐街·松拖·康安路·顾乡 (空调) — 顾乡·康安路·松拖·中心医院·安和街·安升街·北安街·哈尔滨第一百货商店·哈商厦·金太阳精品城·南马路·南平街·巴士大厦·新发小区·先锋路·先锋小区·嵩山小区·辽河小区·淮河路·红旗小区 — 哈站·秋林公司·医大一院·烟厂(分区点)·文化公园·冰上基地·太平桥·太平文化宫·二商店·哈东站 (空调) —

哈尔滨火车站·秋林公司·哈医大一院·烟厂·文化公园·冰上基地·太平桥·太平文化宫·二商店·哈东站 — 省航运医院·靖宇街·南勋街·太古街·滨江站·肉联厂·电缆厂·烈士馆·哈站·博物馆·秋林公司·儿童公园·革新街·省图书馆·文昌街·中宣街·宣庆小区·长江路·华山路·创业中心·建北小区·省电力医院 — 友谊宫·友谊路·儿童医院·兆麟公园·市医院·时装大厦(哈一百)·三中·秋林(分区点)·儿童公园·革新街·省图书·宣化街·芦家街·省体 校 — 道里九站·车辆厂文化宫·高谊商店·安康街·安丰商场·安广街·安和街·共乐街·妇产医院·商学院·三孔桥·西大直街·汉广街·动物园·王兆新村·王兆火车站·和平桥·中医学院·安乐街·电机厂·电塔街·锅炉厂·哈慈集团 — 承德广场·南极街(上行)·烟厂·秋林公司·建设街·省博览中心·哈工大·西大桥·通达街·和兴路·哈师大·动物园·王兆新村·林业大学·和平商城·电机厂·锅炉厂·母亲广场·哈慈集团·工程机械厂·制药二厂·黎明市场 — 哈站·展览中心·铁路局·工大·教化广场·西桥宾馆·通达街·和兴路·电表厂·科技大学·黑大·医大商店·医大二院·电影机厂 — 河松小区·河松街·钢材市场·木材厂·前进路·河图街·上梁街(上行)·公路大桥·社会科学院·税务局·市人大·防洪纪念塔·儿童医院·中药三厂·电子商场·道外七道街·十二道街·十六道街·二十道街·毛织厂·造纸厂·油石厂·木材市场·港务局 — 市二院·宏伟路·大有坊街·宏平小区·红旗家具城·先锋商店·嵩山小区·先锋小区·先锋路·大成街·儿童公园·医大一院·秋林公司·博物馆·哈站·建筑艺术广场·道里十二道街·(上行通江街·上游街)(东风街·高谊街下行)·友谊宫·市人大 (空调) — 辽河小区·嵩山小区·先锋小区·先锋路·大成街·儿童公园·医大一院·秋

包头市公交线路图

包头市公交线路图 路 起迄站说明途经街道站牌名 别 包头站首末车时间:二旅社一团二旅社、二十五中、南郊信用社、—二旅包头站6 : 10—20: 10结大街一白恰特(西)、昆仑百货、包钢招待社二旅社6 : 10—19: 50云路一钢铁所、包百大楼、达丽雅、八一公园、平均行车间隔:5分钟大街一民族科隆大酒店(西)、公交一公司 1西路一友谊(西)、包钢三中、友谊广场、云 大街一阿尔龙骨科医院、移动通信公司、稀土 丁大街一包国际大酒店、包钢技校、科技大学、 头站核工业二0八、一号楼、包头站包头站首末车时间:包头站一阿包头站、一号楼、核工业二0八、—民主包头站6 : 10—20: 10尔丁大街一科技大学、包钢技校、稀土国际大路民主路6 : 10—19: 40黄河路一沼酒店(西)、曹家营新村、阳光小平均行车间隔:8分钟潭东路一民区、松石雅居小区、市人大、金荣 族东路一友装饰建材城、友谊大街、财校、民2 谊大街一富航大厦、大自然旅行社、纺织总厂、 强路一文化富强市场、九星电子大楼、富强路、 路一民主路青一百、娜琳商厦、包头眼科医院、 青山商厦、自由路、民主路恰特一首末车时间:恰特一白云恰特、昆仑百货、包钢科技楼、广黄河渡黄河渡口6 : 30—18: 15路一钢铁大汇商城、昆河南桥、友谊轧钢厂、口恰特7: 10—18 : 40街一南排道孟家河湾、废钢、道口、厂汉、哈3平均行车间隔:20分钟—友谊大街林格尔村、官将、兰桂村、黄河渡 —宋昭公路 口 —黄河渡口

豪德贸首末车时间:豪德贸易广豪德贸易广场、铁西区、天安学院、 易广场夏季铁西6:10—19: 10场一色楞弯铁鑫大厦、鑫垣公司、铁工校(北)、—糖厂糖厂7:00—20:00冬季铁西6 : 10路一建设路东河劝业城(南)、商贸大厦、二宫、—19:10—巴彦塔拉工农贸易货栈、建材商城、时代天糖厂7:00—19: 40大街一公园骄小区、车轮总厂、矿机宿舍、臭 平均行车间隔:8分钟路一环城路水井、民兵训练基地、蓄电池厂、 4 —南门外大古城湾、一阳公司、三0三厂、十 街一巴彦塔六中、古城湾乡、包头客车厂、包 拉东大街一头糖厂 铝业大道一 糖厂 恰特一说明:由恰特发往东站方向的车辆在包恰特一白云恰特、昆仑百货、包钢招待所、包东站百大楼不设站。路一钢铁大百大楼(北侧)、达丽雅、八一公首末车时间:街一建设路园、科隆大酒店、市政府、银河广夏季6 : 00—21 : 10夜班车22:10由两站—西脑包大场、包头职大、电视台、一宫、供 对发街一环城路电宾馆、赛汗塔拉公园、市公安局、 冬季6 : 10—21 : 10夜班车22: 10由两站—南门外大昌福窑、青年农场、工程机械商城、 C 5 对发街一东站永茂隆、青年生态园、转龙液酒厂、平均行车时间:5分钟朝聚眼科医院、包头市扶贫医院、 东河交警大队、铁西区、天安学院、 西脑包、红星、东河劝业城、商贸 大厦、二宫、太平寺商城、东站恰特一说明:由恰特发往东站方向的车辆在包恰特一白云恰特、包钢招待所、包百大楼(北东站百大楼不设站。路一钢铁大侧)、达丽雅、八一公园、科隆大 5首末车时间:街一建设路酒店、市政府、银河广场、包头职 路夏季6 : 30—20: 40—西脑包大大、电视台、一宫、赛汗塔拉公园、 快冬季6 : 30—20: 30街一环城路市公安局、转龙液酒厂、朝聚眼科平均行车间隔:5分钟—南门外大医院、铁西区、天安学院、西脑包、 街一东站红星、东河劝业城、商贸大厦、二

数据结构课程设计

《数据结构》 课程设计报告 学号 姓名 班级 指导教师 安徽工业大学计算机学院 2010年6月

建立二叉树和线索二叉树 1.问题描述: 分别用以下方法建立二叉树并用图形显示出来: 1)用先序遍历的输入序列 2)用层次遍历的输入序列 3)用先序和中序遍历的结果 2.设计思路: 分三个方式去实现这个程序的功能,第一个实现先序遍历的输入数列建立二叉树;第二个是用层次遍历的方法输入序列;第三个是用先序和后序遍历的结果来建立二叉树;三种方法建立二叉树后都进行输出。关键是将这三个实现功能的函数写出来就行了;最后对所建立的二叉树进行中序线索化,并对此线索树进行中序遍历(不使用栈)。 3.数据结构设计: 该程序的主要目的就是建立二叉树和线索二叉树,所以采用树的存储方式更能完成这个程序; 结点的结构如下: typedef struct bnode { DataType data; int ltag,rtag; struct bnode *lchild, *rchild; } Bnode, *BTree; 4.功能函数设计: BTree CreateBinTree() 用先序遍历的方法讲二叉树建立; BTree CREATREE() 用队列实现层次二叉树的创建; void CreatBT(); 用先序和中序遍历的结果建立二叉树; void InThread(BTree t,BTree pre) 中序线索化; 5.编码实现: #include #include #define max 100 typedef struct bnode { char data; int ltag,rtag; struct bnode *lchild,*rchild; }Bnode,*BTree; BTree Q[max]; BTree CREATREE() { char ch; int front=1,rear=0;

哈尔滨公交车线

哈尔滨公交车线1--90路 哈尔滨公交车线路 1--90 线 1 5:00—21:30 港务局·油石厂·造纸厂·毛织厂·靖宇二十道街·十六道街·十二道街·七道街·头道街·承德广场·南马路·时装大厦·道里十二道街·经纬街·高谊商店·车辆厂文化宫 2 6:30—19:30 友谊路·上游街·(上行高谊街·东风街·经纬街)(通江街·道里十二道街·建筑艺术广场下行)哈三中·建设街·工人文化宫·文昌街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·香坊大街 2 (空调) 6:30—19:30 友谊路·上游街·通江街·西十二道街·时装大厦·哈三中·秋林公司·工人文化宫·文昌街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·红旗大街 3 5:00—21:30 外环北路·承德广场·巴士大厦·烟厂·文化公园·先锋路·大成街·理治街·宣化街·省政府·天鹅饭店·省医院·西香坊·香坊区政府·红旗大街 4 5:00—21:30 承德广场·巴士商贸大厦·滨江站·十四道街·十六道街·二十道街·太平桥·太平文化宫·二商店·道口街·新一街 5 5:00—21:30 红旗小区·辽河路·辽河小区·嵩山路·先锋小区·先锋路·新发小区·南极街·巴士大厦(分区点)·哈一百(时装大厦)·道里市场·北安街(分区点)·安升街·安和街·共乐街·松拖·康安路·顾乡 5 (空调) 6:30—20:00

顾乡·康安路·松拖·中心医院·安和街·安升街·北安街·哈尔滨第一百货商店·哈商厦·金太阳精品城·南马路·南平街·巴士大厦·新发小区·先锋路·先锋小区·嵩山小区·辽河小区·淮河路·红旗小区 6 5:00—21:30 哈站·秋林公司·医大一院·烟厂(分区点)·文化公园·冰上基地·太平桥·太平文化宫·二商店·哈东站 6 (空调) 5:00—21:30 哈尔滨火车站·秋林公司·哈医大一院·烟厂·文化公园·冰上基地·太平桥·太平文化宫·二商店·哈东站 7 5:30—21:30 省航运医院·靖宇街·南勋街·太古街·滨江站·肉联厂·电缆厂·烈士馆·哈站·博物馆·秋林公司·儿童公园·革新街·省图书馆·文昌街·中宣街·宣庆小区·长江路·华山路·创业中心·建北小区·省电力医院 8 5:30—21:30 友谊宫·友谊路·儿童医院·兆麟公园·市医院·时装大厦(哈一百)·三中·秋林(分区点)·儿童公园·革新街·省图书·宣化街·芦家街·省体校 9 6:00—19;30 道里九站·车辆厂文化宫·高谊商店·安康街·安丰商场·安广街·安和街·共乐街·妇产医院·商学院·三孔桥·西大直街·汉广街·动物园·王兆新村·王兆火车站·和平桥·中医学院·安乐街·电机厂·电塔街·锅炉厂·哈慈集团 10 5:00—21:30 承德广场·南极街(上行)·烟厂·秋林公司·建设街·省博览中心·哈工大·西大桥·通达街·和兴路·哈师大·动物园·王兆新村·林业大学·和平商城·电机厂·锅炉厂·母亲广场·哈慈集团·工程机械厂·制药二厂·黎明市场 11

长沙公交车路线

李新:[转]长沙公共汽车1揽表 1 路 火车站晓园路口袁家岭清水塘中山路老照壁先锋厅轮渡码头桥东坡子街南湖桥书院路一师范大椿桥杏花园火车南站 2 路 东塘西雅礼中学侯家塘东侯家塘西仰天湖白沙路口劳动广场南门口蔡锷南路口柑子园司门口八角亭五一广场先锋厅中山路水风井营盘街兴汉门湘雅医院北站 4 路 劳动广场仰天湖侯家塘黄土岭神农大酒店涂家冲理工大学金盆岭公用客车厂广厦新村桥头百姓广场新开铺 6 路 东塘东东塘北曹家坡长岭窑岭文艺路口韭菜园南阳街口太平街口溁湾镇

7 路 火车站曙光路口(回程走解放东路)文艺路口东广济桥窑岭长岭东塘砂子塘雨花亭新中路口铁道学院路桥集团香樟路口林校井湾子红星村高升村植物园洞井铺汽车南站 8 路 树木岭自然岭树木岭立交桥车站路南茶园坡赤岗岭赤岗冲公交总公司东塘雅礼中学侯家塘仰天湖白沙路口劳动广场书院路碧湘街南门口西 9 路 火车站(五一东路解放东路)(回程走人民路立交桥北)人民路立交桥曙光路窑岭识字岭浏城桥五一路立交桥小吴门松桂园经武门北站唐家巷潘家坪伍家岭南伍家岭北陈家湖新码头马厂开福区政府汽车北站金霞苑

11 路 赤岗冲东塘雅礼中学儿童医院广济桥梓园路口识字岭天心公园凤凰台柑子园藩正街五一路水风井营盘街兴汉门北正街湘春路西口三角塘湘雅路西口竹山园开福寺路西口新河 12 路 火车站长岛路口曙光路口韭菜园南阳街口太平街口溁湾镇 101 路 湖南民俗村新华联二污净化中心竹园路口五里牌火车站解放东路(回程走人民路立交桥北)人民路立交桥西曙光路窑岭梓园路口广济桥儿童医院侯家塘南湖路口长坡古堆山火车南站 102 路 汽车南站洞井铺植物园高升村红星村井湾子井坡子林校香樟路口路桥集团铁道学院新中路口雨花亭砂子塘魏家

数据结构课程设计

一、高校社团管理 在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现以下功能:1.社团招收新成员; 2.修改社团相应信息 3.老成员离开社团 4.查询社团情况; 5.统计社团成员数; 二、简单文本编辑器 设计一个文本编辑器,允许将文件读到内存中,也就是存储在一个缓冲区中。这个缓冲区将作为一个类的内嵌对象实现。缓冲区中的每行文本是一个字符串,将每行存储在一个双向链表的结点中,要求设计在缓冲区中的行上执行操作和在单个行中的字符上执行字符串操作的编辑命令。 基本要求: 包含如下命令列。可用大写或小写字母输入。 R:读取文本文件到缓冲区中,缓冲区中以前的任何内容将丢失,当前行是文件的第一行; W:将缓冲区的内容写入文本文件,当前行或缓冲区均不改变。 I:插入单个新行,用户必须在恰当的提示符的响应中键入新行并提供其行号。 D:删除当前行并移到下一行; F:可以从第1行开始或从当前行开始,查找包含有用户请求的目标串的第一行; C:将用户请求的字符串修改成用户请求的替换文本,可选择是仅在当前行中有效的还是对全文有效的。 Q:退出编辑器,立即结束; H:显示解释所有命令的帮助消息,程序也接受?作为H的替代者。 N:当前行移到下一行,也就是移到缓冲区的下一行; P:当前行移到上一行,也就是移到缓冲区的上一行;

B:当前行移到开始处,也就是移到缓冲区的第一行; E:当前行移到结束处,也就是移到缓冲区的最后一行; G:当前行移到缓冲区中用户指定的行; V:查看缓冲区的全部内容,打印到终端上。 三、电话客户服务模拟 一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环的 自增1(分钟)直到达到指定时间为止。在时钟的每个"时刻",就会执行一次检查来看看对当前电话服务是否已经完成了,如果是,这个电话从电话队列中删除,模 拟服务将从队列中取出下一个电话(如果有的话)继续开始。同时还需要执行一个检查来判断是否有一个新的电话到达。如果是,其到达时间被记录下来,并为其产生一个随机服务时间,这个服务时间也被记录下来,然后这个电话被放入电话队列中,当客户人员空闲时,按照先来先服务的方式处理这个队列。当时钟到达指定时间时,不会再接听新电话,但是服务将继续,直到队列中所偶电话都得到处理为止。 基本要求: (1)程序需要的初始数据包括:客户服务人员的人数,时间限制,电话的到达速率,平均服务时间 (2)程序产生的结果包括:处理的电话数,每个电话的平均等待时间 四、停车场管理 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的交费(从进入便道开始计时)。在这里假设汽车从便道上开走时不收取任何费用 基本要求: (1)汽车的输入信息格式为(到达/离去的标识,汽车牌照号码,到达/离去的时间)

哈尔滨公交线路大全

1路 公共汽车车辆厂文化宫冬季首末车:5:30-21:30 夏季首末车:5:30-22:00 港务局冬季首末车:5:30-21:30 夏季首末车:5:30-22:00票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:车辆厂文化宫- 经纬十道街- 经纬八道街- 道里十 二道街- 兆麟街(联升广场) - 买卖街- 南马路- 承德广场- 靖宇头道街- 靖宇七道街- 靖宇十二道街- 市四院- 靖宇二十道街- 松浦大桥- 更新街- 油石厂- 木材市场- 港务局(18站) 回程:港务局- 木材市场- 油石厂- 更新街- 松浦大桥- 靖宇二十道街- 市四院- 靖宇十二道街- 靖宇七道街- 靖宇头道街- 承德广场- 南马路- 兆麟街(联升广场) - 道里十二道街- 高谊街[哈医大二院道里分院] - 车辆厂文化宫(16站) 2路 公共汽车友谊宫冬季首末车:5:00-22:00 夏季首末车:5:00-22:00 果园小区冬季首末车:5:00-21:30 夏季首末车:5:00-21:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:友谊宫- 防洪纪念塔(友谊路) - 上游街(科学宫) - 高谊街- 东风街- 经纬六道街- 经纬三道街- 经纬街- 儿童电影院- 烈士馆- 龙江街- 建设街- 工人文化宫[沃尔玛] - 文昌街- 省政府- 天鹅饭店- 省医院- 西香坊- 横道街- 红旗大街[公滨路路口] - 香滨小学- 升永街- 安埠街- 果园小区(24站) 回程:果园小区- 安埠街- 安埠商厦- 香坊大街[红旗大街路口] - 横道街- 西香坊- 省医院- 天鹅饭店- 省政府- 文昌街- 工人文化宫[沃尔玛] - 博物馆- 哈三中(哈医大第四医院) - 建筑艺术广场- 道里十二道街- 通江街- 上游街- 友谊宫(18站) 2路(空调) 公共汽车友谊宫冬季首末车:6:00-18:30 夏季首末车:6:00-18:30 香坊大街冬季首末车:6:00-18:00 夏季首末车:6:00-18:00票价2元,IC卡1.8元哈尔滨市公共汽车总公司去程:友谊宫- 高谊街- 东风街- 经纬六道街- 经纬三道街- 经纬街- 儿童电影院- 烈士馆- 龙江街- 建设街- 工人文化宫[沃尔玛] - 文昌街- 省政府- 天鹅饭店- 省医院- 西香坊- 横道街- 香坊大街[红旗大街路口] (18站)回程:香坊大街[红旗大街路口] - 横道街- 西香坊- 省医院- 天鹅饭店- 省政府- 文昌街- 工人文化宫[沃尔玛] - 博物馆- 哈三中(哈医大第四医院) - 建筑艺术广场- 道里十二道街- 通江街- 上游街- 友谊宫(15站) 3路 公共汽车松浦大桥南冬季首末车:5:30-21:30 夏季首末车:5:30-21:30 香坊大街冬季首末车:5:00-21:30 夏季首末车:5:00-21:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:松浦大桥南- 道外二十道街- 道台府- 道外十二道街- 道外七道街- 道外三道街- 景阳街- 承德广场- 南极街- 烟厂- 哈工程大学- 美华修配厂- 奔马汽配城(先锋路) - 大成街- 理治街- 宣化街- 省政府- 天鹅饭店- 省医院- 西香坊- 横道街- 香坊大街[红旗大街路口] (22站) 回程:香坊大街[红旗大街路口] - 横道街- 西香坊- 省医院- 天鹅饭店- 省公安厅- 宣化街- 理治街- 大成街- 奔马汽配城(先锋路) - 美华修配厂- 哈工程大学- 烟厂- 南极街- 承德广场- 景阳街- 道外三道街- 道外七道街- 道外十二道街- 道台府- 道外二十道街- 松浦大桥南(22站) 4路 公共汽车承德广场冬季首末车:5:30-21:00 夏季首末车:5:30-21:00 新一街冬季首末车:5:00-20:30 夏季首末车:5:00-20:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:承德广场- 太古头道街- 太古六道街- 太古十二道街- 太古十六道街- 太古二十道街- 市老年医院- 道外公安分局- 网通东直路营业厅- 哈东站[三棵树] - 道口街- 新一街(12站) 回程:新一街- 道口街- 哈东站[三棵树] - 网通东直路营业厅- 道外公安分局- 市老年医院- 太古二十道街- 太古十六道街- 太古十二道街- 太古六道街- 太古头道街- 承德广场(12站) 5路 公共汽车顾乡冬季首末车:5:00-21:30 夏季首末车:5:00-21:30|红旗小区冬季首末车:5:30-21:30 夏季首末车:5:30-21:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:顾乡- 顾乡大街[康安路路口] - 康安路- 中心医院- 市行政服务中心- 安升街[新阳路路口] - 北安街- 哈一百- 兆麟街(联升广场) - 买卖街- 南马路- 南平街- 南极街- 新发小区- 宽城街- 宣化街[先锋路路口] - 先锋小区- 嵩山小区- 辽河小区- 淮河路- 红旗小区(21站) 回程:红旗小区- 淮河路- 辽河小区- 嵩山小区- 先锋小区- 宣化街[先锋路路口] - 宽城街- 新发小区- 南极街- 南平街- 南马路- 兆麟街(联升广场) - 哈一百- 北安街- 安升街[新阳路路口] - 市行政服务中心- 中心医院- 康安路- 顾乡大街[康安路路口] - 顾乡(20站) 6路 公共汽车哈站冬季首末车:5:00-22:00 夏季首末车:5:00-22:00 哈东站冬季首末车:5:00-21:30 夏季首末车:5:00-21:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:哈站- 博物馆- 秋林公司- 医大一院- 烟厂- 哈工程大学- 南通大街- 太平桥- 道外公安分局- 网通东直路营业厅- 桦树街- 哈东站(12站) 回程:哈东站- 桦树街- 网通东直路营业厅- 道外公安分局- 太平桥- 南通大街- 哈工程大学- 烟厂- 医大一院- 秋林公司- 博物馆- 哈站(12站) 7路 公共汽车道外北十四道街冬季首末车:5:30-21:00 夏季首末车:5:30-21:00|省电力医院冬季首末车:5:30-20:30 夏季首末车:5:30-20:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司 去程:道外北十四道街- 靖宇街- 阿拉伯广场- 太古十四道街- 滨江站- 南极街- 南极市场- 市住房公积金中心- 烈士馆- 哈站- 博物馆- 秋林公司- 儿童公园[南门] - 革新街- 省档案馆- 宣化街- 中宣街- 省人才市场- 龙塔- 玉山路- 韩亚银行(市老龄委) - 创业中心- 省电力医院(23站) 回程:省电力医院- 建北小区- 湘江路[千山路口] - 韩亚银行(市老龄委) - 玉山路- 龙塔- 省人才市场- 中宣街- 宣化街- 省档案馆- 革新街- 儿童公园[南门] - 秋林公司- 博物馆- 哈站- 烈士馆- 市住房公积金中心- 南极市场- 南极街- 滨江站- 太古十四道街- 阿拉伯广场- 靖宇街- 道外北十四道街(24站) 8路 公共汽车友谊宫冬季首末车:5:30-21:00 夏季首末车:5:30-21:00|闽江路冬季首末车:5:30-20:30 夏季首末车:5:30-21:00票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:友谊宫- 防洪纪念塔(友谊路) - 儿童医院- 兆麟公园- 市一院- 建筑艺术广场- 哈站- 博物馆- 秋林公司- 儿童公园[南门] - 革新街- 省档案馆- 宣化街- 龙运大厦(芦家街) - 十字街[平公街口] - 哈体育学院- 十三中学- 中植方洲苑- 嵩山路- 辽河路- 淮河路[红旗大街路口] - 会展中心- 松雷中学- 闽江小区- 闽江路[南直路口] (25站)回程:闽江路[南直路口] - 闽江小区- 松雷中学- 会展中心- 淮河路[红旗大街路口] - 辽河路- 嵩山路- 中植方洲苑- 十三中学- 哈体育学院- 十字街- 大成街- 龙运大厦(芦家街) - 宣化街- 省档案馆- 革新街- 儿童公园[南门] - 秋林公司- 哈三中(哈医大第四医院) - 建筑艺术广场- 市一院- 兆麟公园- 儿童医院- 防洪纪念塔(友谊路) - 友谊宫(25站) 9路 公共汽车友谊宫冬季首末车:6:00-19:00 夏季首末车:6:00-20:00 哈慈集团冬季首末车:6:00-19:00 夏季首末车:6:00-19:30票价1元,IC卡0.9元哈尔滨市公共汽车总公司去程:友谊宫- 工程街- 经纬十道街- 安康街- 安丰街- 安广街- 安和街- 建国街- 中心医院- 哈商大[南学区] - 三孔桥- 西大直街- 汉广街- 文化大厦- 一匡街- 王兆新村- 铁路二院- 和平桥[文政街] - 省中医药大学- 乐松广场- 乐园街(临时站) - 电机厂- 锅炉厂- 母亲广场- 哈慈集团(25站) 回程:哈慈集团- 母亲广场- 锅炉厂- 电机厂- 乐园街(临时站) - 乐松广场- 省中医药大学- 和平桥[文政街] - 铁路二院- 王兆新村- 一匡街- 文化大厦- 汉广街- 西大直街- 三孔桥- 哈商大[南学区] - 中心医院- 建国街- 安和街- 安广街- 安丰街- 安康街- 高谊街[哈医大二院道里分院] - 工程街- 友谊宫(25站) 10路

相关文档
最新文档