资源简介
数据结构的车厢调度课程设计报告书,具体讲述了车厢调度的过程,实验报告书内容详细

代码片段和文件信息
#include
#include
#define MAXSIZE 10000
int n;
int path[MAXSIZE]; /*定义全局变量*/
struct pathss{
int paths[MAXSIZE][MAXSIZE];
int number;
}AllPath; /*定义一个二维数组来保存所有的输出序列*/
struct SNode{
int data[MAXSIZE];
int top;
}S; /*栈的顺序存储结构的定义*/
void InitStack() /*栈的初始化*/
{
S.top=-1;
}
void Push(int q) /*进栈*/
{
S.data[++S.top]=q;
}
int Pop() /*出栈*/
{
int temp;
temp=S.data[S.top--];
return temp;
}
int StackEmpty() /*判断栈是否为空*/
{
if(S.top==-1)
return 1;
else
return 0;
}
void Attemper(int posint path[]int cur) /*调度过程*/
{
int mi;
if(pos {
Push(pos+1); /*一个数进栈后要么立刻出栈要么进行下一个数的进栈*/
Attemper(pos+1pathcur);
Pop();
}
if(!StackEmpty())
{
m=Pop(); /*一个数出栈后要么继续出栈(栈不空)要么继续下一个数的进栈*/
path[cur++]=m;
Attemper(pospathcur);
Push(m);
}
if(pos==n && StackEmpty()) /*一种可能输出序列产生*/
{
printf(“\t\t\t“);
printf(“%2d:“AllPath.number+1);
for(i=0;i {
printf(“%3d“path[i]);
AllPath.paths[AllPath.number][i]=path[i]; /*将每种序列保存在二维数组里*/
}
printf(“\n“);
AllPath.number++;
}
}
void Print() /*一个栈打印操作*/
{
int i;
for(i=S.top;i>=0;i--)
printf(“\t\t\t |%d|\n“S.data[i]);
}
void DisplayOnly(int kint Outputint Input)/*显示操作序列的状态的变化过程*/
{
int j;
getchar();
for(j=0;j<=Output;j++)
printf(“<---%d“AllPath.paths[k][j]); /*显示输出序列的状态变化*/
printf(“\n“);
Print();
printf(“\t\t\t\t\t“);
for(j=Input;j<=n;j++) /*显示输入序列的状态变化*/
printf(“<---%d“j);
printf(“\n“);
}
void ChooseDisplay() /*状态变化过程*/
{
int kOutputInput=1; /*k为输出序列的序号*/
printf(“请输入你想要查看序列状态变化过程的序号:“); /*output为当前输出的序号*/
scanf(“%d“&k); /*input为当前输入的序号*/
k=k-1;
InitStack();
printf(“\n 输出序列\t 栈\t\t 输入序列“);
DisplayOnly(k-11);
for(Output=0;Output {
if(AllPath.paths[k][Output]>=Input) /*当输出序列中当前的数据大于等于入口处*/
{ /*的数据时 入口处的数据要一直压栈*/
while(AllPath.paths[k][Output]>=Input)/*直到当前的数据小于等于入口处的数据*/
{
Push(Input);
Input++;
DisplayOnly(kOutput-1Input);
}
Pop();
DisplayOnly(kOutputInput);
}
else /*当序列中当前的数据小于入口处*/
{ /*的数据时弹出栈顶重新显示结果*/
Pop();
DisplayOnly(kOutputInput);
}
}
}
void message() /*菜单显示*/
{
printf(“\n\t\t\t* * * * * * * * * * * * * * * * *\n “);
printf(“\t\t\t*\t1:输入火车的长度N\t*\n“);
printf(“\t\t\t*\t2:输出所有可能序列\t*\n“);
printf(“\t\t\t*\t3:演示一个序列变化\t*\n“);
printf(“\t\t\t*\t4:退出本程序\t\t*\n“);
printf(“\t\t\t* * * * * * * * * * * * * * * * *\n“);
}
voi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1206784 2008-01-03 18:25 数据结构课程设计报告模板(软件061).doc
文件 3975 2008-01-03 18:23 Cpp1.cpp
文件 200772 2008-01-03 15:34 Cpp1.exe
----------- --------- ---------- ----- ----
1411531 3
相关资源
- 数据结构年终考题范围和答案 耿国华
- 数据结构 朱战力 习题解答 数据结构
- 数据结构课程设计 6 1 彩票系统
- 教学计划编制系统
- 大数(链表、数组)实现
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- 航空订票系统_数据结构课程设计
- 多项式求和(数据结构C 版)
- 尚观培训linux董亮老师关于数据结构的
- 数据结构 知识点总结
- 华南理工大学数据结构复习提纲二
- 华南理工大学数据结构复习提纲一
- 数据结构用C 写的停车场系统源代码
- 数据结构(河北科技大学)
- 数据结构考前习题 清华大学出版社
- 数据结构课件(北邮)
- 数据结构实验 基于栈的表达式求值
- 数据结构课程设计——图书管理系统
- 成绩管理系统(数据结构)
- 数据结构-最小通信网问题
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构殷人昆版的课后答案
- 2006年湖北工业大学409数据结构试题
- 数据结构实验-魔王语言-源码加实验报
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- Fundamentals of Data Structure in C
- 北京邮电大学数据结构历年考研真题
评论
共有 条评论