博文

我的数据结构课程设计-关键路径(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=*(......

阅读全文(4419) | 评论:0