博文
我的数据结构课程设计-关键路径(2006-07-13 20:18:00)
摘要:#define max 20
#include<iostream>
#include<stdio.h>
#include<malloc.h>
using namespace std;
typedef struct ArcNode//定义表结点
{int adjvex;//该弧所指向顶点的位置
struct ArcNode *nextarc;//指向下一条弧的指针
int info;//该弧的权值
}ArcNode;
typedef struct VNode//定义头结点
{int data;//顶点信息
ArcNode *firstarc;//指向第一条依附该顶点的弧的指针
}VNode,AdjList[max];
typedef struct//定义ALGraph
{AdjList vertices;
int vexnum,arcnum;//图的当前顶点数和弧数
int kind;//图的种类标志
}ALGraph;
typedef struct//定义栈
{int *base;//栈底
int *top;//栈顶
}stack;
void initstack(stack &s)//建立空栈
{s.base=(int*)malloc(max*sizeof(int));
s.top=s.base;
}
int stackempty(stack s)//判断是否为空栈
{if(s.base==s.top) return 1;
else return 0;
}
int stackfull(stack s)//判断是否为满栈
{if(s.top-s.base>=max) return 1;
else return 0;
}
int pop(stack &s)//进行出栈
{int e;//出栈先进行赋值,后移动指针
if(!stackempty(s))
{e=*(......