沈阳工程学院-数据结构课设报告(7)
沈阳工程学院课程设计 第四章 系统功能实现
功能实现图如图4.2所示。
图4.2 初始化约瑟夫生死环
4.1.4输出出队顺序函数
定义指针p指向要删除节点的前一个节点,ppHead指向要删除的节点,使p=ppHead,ppHead再指向要删除节点的下一个节点,使p和ppHead链接,输出p指向节点的编号和密码值,释放ppHead,如此循环,直至把所有节点都打印和删除为止!主要代码如下:
//出队函数
void jose(LNode *ppHead,int m_pwd) {
int i,j;
LNode *p,*p_del;//定义指针变量 for(i=1;p!=ppHead;i++){ for(j=1;j p=ppHead;//p赋值为ppHead,p指向要删除结点的前一个结点 ppHead=ppHead->next;//ppHead指向下一个元素 } p->next = ppHead->next;//p结点与头结点链接 i=ppHead->pwd;//i赋值为ppHead->pwd j=ppHead->num;//j赋值为ppHead->num,j为要删除的密码值 printf(\第%d个人出列,密码:%d\\n\ m_pwd=ppHead->pwd;//m_pwd赋值为ppHead->pwd free(ppHead);//释放头结点 ppHead=p->next;//ppHead重新赋值给p->next,即释放前的ppHead->pwd指针 } i=ppHead->pwd;//i赋值为ppHead->pwd j=ppHead->num;//j赋值为ppHead->num printf(\最后一个出列是%d号,密码是:%d\\n\free(ppHead);//释放头结点 18 沈阳工程学院课程设计 第四章 系统功能实现 } 运行结果界面如图4.3所示。 图4.3 运行结果 4.2 安排教学计划 4.2.1头文件、宏、数据结构体定义 一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。文本文件单词的检索和计数中包含的头文件有:#include //头文件定义 #include #include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define STACK_INIT_SIZE 100 //存储空间初始分配量 #define STACKINCREMENT 10 //存储空间分配增量 19 沈阳工程学院课程设计 第四章 系统功能实现 #define MAX_VERTEX_NUM 20 //数据结构类型定义 int NUM,C,N;//定义全局变量 typedef int Status; typedef int SElemType; /定义类型名 typedef struct //栈的结构体 { SElemType *base; //在栈构造之前和销毁之后,base的值为NULL SElemType *top; //栈顶指针 int stacksize; //当前已分配的存储空间,以元素为单位 }SqStack; typedef struct ArcNode//弧的结构体 { int adjvex;//该弧所指向的顶点的位置 struct ArcNode *nextarc;//指向第一条依附该顶点的弧的指针 }ArcNode; typedef struct VNode//课程的结构体 { char data[10];//课程名编号存储 char string[20];//课程名存储 ArcNode *firstarc; }VNode,AdjList[MAX_VERTEX_NUM]; typedef struct//图的结构体 { AdjList vertices; int vexnum,arcnum;//图的当前顶点数和弧数 }ALGraph; int indegree[20]={0};//存储图的入度的全局变量数组 4.2.2初始化栈、压栈、弹栈、判断栈空函数 本功能模块主要是通过源程序的编写实现的。对使用者在使用该软件时进行提示如下。本程序构造一个空栈S并予S存储空间函数,此函数可循环利用。具体代码如下: //构造一个空栈S Status InitStack(SqStack &S) { S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType)); 20 沈阳工程学院课程设计 第四章 系统功能实现 if(!S.base) = return ERROR;//内存分配失败 S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; }//InitStack 本功能模块主要是通过源程序的编写实现的。对使用者在使用该软件时进行提示如下。本程序对栈S插入元素e为新的栈顶元素的压栈函数,此函数可循环利用。具体代码如下: //插入元素e为新的栈顶元素 Status Push(SqStack &S,SElemType e) { if(S.top-S.base>=S.stacksize) //栈满,追加存储空间 { S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!S.base) return ERROR;//存储分配失败 S.top=S.base+S.stacksize; S.stacksize+=STACKINCREMENT; } *S.top++=e; return OK; }//Push 本功能模块主要是通过源程序的编写实现的。对使用者在使用该软件时进行提示如下。本程序中若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR 。仍然是很简单的循环语句实现。具体代码如下: //若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR Status Pop(SqStack &S,SElemType &e) { if(S.top==S.base) return ERROR; e=*--S.top; return OK; }//Pop 本功能模块主要是通过源程序的编写实现的。对使用者在使用该软件时进行提示如下。本程序判断栈是否为空,为空返回TRUE否则返回,FALSE。仍然是很简单的循环语句实现。具体代码如下: //判断栈是否为空,为空返回TRUE否则返回,FALSE Status StackEmpty(SqStack S) 21 沈阳工程学院课程设计 第四章 系统功能实现 { if(S.top==S.base) return TRUE; else return FALSE; } 4.2.3邻接表建立函数 本功能模块主要是通过源程序的编写实现的。对使用者在使用该软件时进行提示如下。本程序为创建邻接表,首先输入课程数目及课程间的先后关系数即为顶点数和弧数(教学计划应为有向图)其后输入课程编号,输入课程间两两间的先后关系即为有向边,以此创建邻接表。具体代码如下: //建立邻接表 Status CreateDG(ALGraph &G) { int i,v,w,vex; printf(\请输入课程数目(课程数(顶点)必须小于等于12):\ scanf(\ if(vex>=
…… 此处隐藏:1740字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [说明书]浅谈视觉传达设计中的色彩艺术
- [说明书]数据库原理-实验8-查询优化
- [说明书]临时用电施工组织设计
- [说明书]反假币考试试题第二套(人民币)
- [说明书]《建设工程监理规范》-2014.3.1实施
- [说明书]筋出槽,骨错缝病机诠释
- [说明书]百度预计来路对网站权重有多大影响
- [说明书]房屋面积测绘细则
- [说明书]计算机控制技术填空题汇总
- [说明书]乡镇卫生院(社区中心)死亡医学证明管
- [说明书]2013尾矿工实操试题
- [说明书]2015事业单位面试备考:贵州省事业单位
- [说明书](目录)2017-2022年半导体材料市场发
- [说明书]浙江省制造业发展“十三五”规划
- [说明书]干部选拔任用工作情况的自查报告
- [说明书]《发电厂电气部分》课后部分问答题整理
- [说明书]中国建立政府成本会计制度的思考
- [说明书]中国文化输出的现状及挑战-100分
- [说明书]通信原理实验指导(13-9)
- [说明书]HSF培训试卷(有害物质培训考试试题)
- 高中地理必修一:2.3《大气环境之六_气
- 新人教版八年级数学上期末总复习精品优
- WEB应用托管平台系统架构
- 《应用文写作》期末试卷
- 2017年秋九年级数学上册24.3正多边形和
- _空心村_形态特征与生成机理分析_以河
- 北师大版生物七年级下册12章2节感受器
- 社区卫生服务中心主任职责
- 广东省2014届广州二模材料作文“求道”
- 完整户口本英文翻译模板
- 2015年液化天然气LNG市场调研及发展趋
- 农村学校教育发展新
- 2014年注册税务师税法(Ⅱ)考试试题及答
- 东方大学俄语新版第5册第-7课课文翻译
- 路基路面工程课程设计1
- 219亩项目2011营销策略
- 第1篇 贸易术语-EXW、FCA、FAS
- 年会或大型活动防疫应急预案
- 改善提案(合理化建议)
- 初三英语第四单元ppt




