博文

我的数据结构课程设计-关键路径(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=*(s.top-1);  s.top--;  return e; } else return NULL;} void push(stack &s,int e)//进行入栈{if(!stackfull(s)){s.top++;/......

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