• 大小: 432KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: 数据结构  课设  

资源简介

数据结构课设——教学计划编制问题。欢迎下载。

资源截图

代码片段和文件信息

#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


评论

共有 条评论