资源简介
数据结构课设——教学计划编制问题。欢迎下载。
代码片段和文件信息
#include “stdafx.h“
#include “header.h“
#include
#include
#include
#include
Status ListInsert(linkList &Lint iElemType e)
{ //插入弧结点 e弧信息 i插入位置
int j=1;
linkList sp=L;//p指向第一个结点
if(i<1)
return ERROR;
s=(linkList)malloc(sizeof(LNode));
s->data=e;
if(i==1)//插入表头
{
s->nextarc=L;
L=s;
}
else
{
while(p&&j {
j++;
p=p->nextarc;
}
if(!p)
return ERROR;
s->nextarc=p->nextarc;
p->nextarc=s;
}
return OK;
}
int LocateElem(linkList LElemType eStatus(*compare)(ElemTypeElemType))
{//返回相应弧结点的i位置
int i=0;
linkList p=L->nextarc;//p指向第一个结点
while(p)
{
i++;
if(compare(p->datae))
return i;
p=p->nextarc;
}
return 0;
}
Status ListDelete(linkList Lint iElemType &e)
{//把第i个弧结点赋给e然后删除之
int j=0;
linkList qp=L;
while(p->nextarc&&j {
j++;
p=p->nextarc;
}
if(!p->nextarc||j>i-1)
return ERROR;
q=p->nextarc;//q指向待删除结点
p->nextarc=q->nextarc;
e=q->data;
free(q);
return OK;
}
void Input(VertexType &ver)
{//输入弧结点的值
scanf(“%s“&ver.name);
}
void visit(VertexType ver)
{ //打印弧结点的值
printf(“%s“ver.name);
}
void InputScore(VertexType &ver)
{//输入学分
scanf(“%d“&ver.score);
}
void visitScore(VertexType ver)
{//输出学分
printf(“%d“ver.score);
}
void InputArc(InfoType *&arc)//输入弧的相关信息
{
arc=(InfoType *)malloc(sizeof(InfoType));//动态生成存放弧的信息空间
scanf(“%d“&arc->weight);
}
void OutputArc(InfoType *arc)
{ //打印弧的相关信息
printf(“%s\n“arc);
}
int LocateVex(ALGraph GVertexType u)
{ //返回顶点在图中的位置
int i;
for(i=0;i if(strcmp(u.nameG.vertices[i].data.name)==0)//顶点与给定的u顶点相同
return i;
return 0;
}
VertexType GetVex(ALGraph Gint v)
{//返回顶点V的值
if(v>=G.vexnum||v<0)
exit(OVERFLOW);
return G.vertices[v].data;
}
void InsertVex(ALGraph &GVertexType v)
{ //在图中加入新的结点
G.vertices[G.vexnum].data=v;
G.vertices[G.vexnum].firstarc=NULL;
G.vexnum++;
}
Status InsertArc(ALGraph &GVertexType vVertexType w)
{ //在图中加入弧
ElemType e;//表结点的元素类型
int ij;
//char s1[3]=“边“s2[3]=“-“;
char s1[4]=“边“s2[3]=“-“;
if(G.kind<2)//有向
{
strcpy(s1“弧“);
strcpy(s2“->“);
}
i=LocateVex(Gv);
j=LocateVex(Gw);
if(i<0||j<0)
return ERROR;
G.arcnum++;//图G的弧或边的数目加1
e.adjvex=j;//弧头表结点的值
e.info=NULL;
if(G.kind%2)
{
printf(“请输入%s%s%s%s的信息:“s1v.names2w.name);
InputArc(e.info);
}
ListInsert(G.vertices[i].firstarc1e);
if(G.kind>=2)//无向,生成另一个结点
{
e.adjvex=i;//弧表尾结点的值
ListInsert(G.vertices[j].firstarc1e);
}
return OK;
}
void CreateGraph(ALGraph &G)
{ //采用邻接表构一个图
int ijkmn;
VertexType v1v2;//顶点类型
ElemType e;
char s1[4] =““;
char s2[] = “000“;
printf(“*********************************************“);
printf(“\n请输入所有的课程数量:“);
scanf(“%d“&G.vexnum);
//printf(“请输入有几个先后关系:“);
//scanf(“%d“&G.arcnum);
G.arcnum = 0;
printf(“请输入第%d个课程的信息:
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 326824 2011-12-20 20:56 3109006503庄文弘 设计11\设计\3109006503庄文弘 设计.docx
文件 13379 2011-07-06 09:32 3109006503庄文弘 设计11\设计\graph.cpp
文件 5160 2011-07-06 01:35 3109006503庄文弘 设计11\设计\header.h
文件 1339 2011-07-04 22:26 3109006503庄文弘 设计11\设计\queue.cpp
文件 155 2011-12-20 20:57 3109006503庄文弘 设计11\设计\readme.txt
文件 2009 2011-07-05 17:46 3109006503庄文弘 设计11\设计\stack.cpp
文件 301 2011-07-02 11:09 3109006503庄文弘 设计11\设计\stdafx.cpp
文件 320 2011-07-02 11:09 3109006503庄文弘 设计11\设计\stdafx.h
文件 6027 2011-07-06 09:38 3109006503庄文弘 设计11\设计\timeableSystem.cpp
文件 477696 2011-07-06 09:35 3109006503庄文弘 设计11\设计\timeableSystem.exe
目录 0 2011-12-20 20:57 3109006503庄文弘 设计11\设计
目录 0 2011-12-20 20:51 3109006503庄文弘 设计11
----------- --------- ---------- ----- ----
833210 12
- 上一篇:深入理解计算机系统原书第三版超高清带目录经典书籍
- 下一篇:住宅户型图CAD源文件
相关资源
- 北邮数据结构实验代码及报告
- 数据结构课程设计报告电表计费系统
- 南昌航空大学数据结构试验代码
- 2014燕山大学数据结构平时实验报告
- 二叉树三种遍历动画演示
- 数据结构课程设计建立词索引表
- 汇编课设——一个win32计算器功能完整
- 数据结构做的员工管理系统
- 校园网布线方案数据结构课程设计
- 数据结构 简单的目录管理系统
- 数据结构长整数课程设计
- 学生管理系统 根据数据结构的链表知
- 哈工大_数据结构与算法视频教程48集
- 北航编译课设C0文法的文档
- 数据结构 教学编制计划
- 数据结构张琨版课后习题答案
- C数据结构最小生成树的构造
- 全国交通咨询模拟数据结构课程设计
- 数据结构 停车场问题
- 数据结构二叉树家谱管理系统
- 数据结构关于二叉树的各种算法
- 数据结构课程设计——压缩软件Huff
- 数据结构-B树的完整实现
- 北京交通大学数据结构大纲考试重点
- 最短路径问题
- 华中科技大学操作系统课程设计——
- 数据结构教程第5版-源程序
- 数据结构课程设计-二叉排序树附详细
- 数据结构经典例题经典考试题复习题
- 空气质量查询_数据结构作业
评论
共有 条评论