教学计划安排检验程序(拓扑排序)报告书(6)
时间:2025-07-10
时间:2025-07-10
示例数据:输入:学期数:5,课程数:12,课程间的先后关系数:16,课程的代表值:v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12。课程间两两间的先后关系:v1 v2,v1 v3, v1 v4,v1 v12,v2 v3,v3 v5,v3 v7,v3 v8,v4 v5, v5 v7,v6 v8,v9 v10, v9 v11 , v9 v12,v10 v12,v11 v6输出:第1学期应学的课程:v1 v9第2学期应学的课程:v2 v4 v10 v11第3学期应学的课程:v3 v6 v12第4学期应学的课程:v5 v8第5学期应学的课程:v7
if(S.top==S.base) return ERROR; e=*--S.top; return OK; }
Status StackEmpty(SqStack S) {
if(S.top==S.base) return TRUE; else return FALSE; }
Status CreateDG(ALGraph &G) {
int i,l,v,w,vex;
printf("\t请输入学期数目(小于等于8):\t"); scanf("%d",&l); if(l>8) {
printf("\tWarning!\n\t学期数目必须小于等于8 ! 请重新输入:"); scanf("%d",&l); }
printf("\t请输入课程数目(小于20):"); scanf("%d",&vex); if(vex>=20) {
printf("\tWarning! \n\t课程数目必须小于20 ! 请重新输入:"); scanf("%d",&vex); }
G.vexnum=vex;
printf("\t请输入课程间的先后关系数:"); scanf("%d",&G.arcnum);
printf("请输入课程的代表值(课程名的长度小于等于10个字符):"); for(i=0;i<G.vexnum;i++) {
scanf("%s",&G.vertices[i].data); G.vertices[i].firstarc = NULL; }
printf("请注
v1=1,v2=2,v3=3,v4=4,c5=5,v6=6,v7=7,v8=8,v9=9,v10=10,v11=11,v12=12\n"); printf("请输入课程间两两间的先后关系:"); for(i=0;i<G.arcnum;i++){ scanf("%d %d,",&v, &w); ArcNode *p= new ArcNode; if(!p) return ERROR;
意
下一篇:化验工培训教案