亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 教學計劃編制.txt

?? 數據結構的實驗題
?? TXT
字號:
#include<string.h>
 #include<ctype.h>
 #include<malloc.h> // malloc()等
 #include<limits.h> // INT_MAX等
 #include<stdio.h> // EOF(=^Z或F6),NULL
 #include<stdlib.h> // atoi()52
 #include<io.h> // eof()
 #include<math.h> // floor(),ceil(),abs()
 #include<process.h> // exit()
 #include<iostream.h> // cout,cin
 // 函數結果狀態代碼
 #define TRUE 1
 #define FALSE 0
 #define OK 1
 #define ERROR 0
 #define INFEASIBLE -1
 typedef int Status; // Status是函數的類型,其值是函數結果狀態代碼,如OK等
 typedef int Boolean; // Boolean是布爾類型,其值是TRUE或FALSE
 #define MAX_NAME 10 
 /* 頂點字符串的最大長度 */
 #define MAXCLASS 100
 int Z=0;
 int X=0;
 int xqzs,q=1,xfsx;
 typedef int InfoType;
 typedef char VertexType[MAX_NAME]; /* 字符串類型 */
 /* 圖的鄰接表存儲表示 */
 #define MAX_VERTEX_NUM 100
 typedef enum{DG}GraphKind; /* {有向圖,有向網,無向圖,無向網} */
 typedef struct ArcNode
 {
   int adjvex; /* 該弧所指向的頂點的位置 */
   struct ArcNode *nextarc; /* 指向下一條弧的指針 */
   InfoType *info; /* 網的權值指針) */
 }ArcNode; /* 表結點 */
 typedef struct
 {
   VertexType data; /* 頂點信息 */
   ArcNode *firstarc; /* 第一個表結點的地址,指向第一條依附該頂點的弧的指針 */
 }VNode,AdjList[MAX_VERTEX_NUM]; /* 頭結點 */
 typedef struct
 {
   AdjList vertices,verticestwo;
   int vexnum,arcnum; /* 圖的當前頂點數和弧數 */
   int kind; /* 圖的種類標志 */
 }ALGraph;
/*  圖的鄰接表存儲的基本操作 */
 int LocateVex(ALGraph G,VertexType u)
{ /* 初始條件: 圖G存在,u和G中頂點有相同特征 */
   /* 操作結果: 若G中存在頂點u,則返回該頂點在圖中位置;否則返回-1 */
   int i;
   for(i=0;i<G.vexnum;++i)
     if(strcmp(u,G.vertices[i].data)==0)
       return i;
   return -1;
}
Status CreateGraph(ALGraph *G)
 { /* 采用鄰接表存儲結構,構造沒有相關信息的圖G(用一個函數構造4種圖) */
   int i,j,k;
   VertexType va,VB;
   ArcNode *p;
   
   printf("請輸入教學計劃的課程數: ");
   scanf("%d",&(*G).vexnum);
   printf("請輸入拓撲排序所形成的課程先修關系的邊數: ");
   scanf("%d",&(*G).arcnum);
   printf("請輸入%d個課程的代表值(<%d個字符):\n",(*G).vexnum,MAX_NAME);
   for(i=0;i<(*G).vexnum;++i) /* 構造頂點向量 */
   { scanf("%s",(*G).vertices[i].data);
     (*G).vertices[i].firstarc=NULL;
   }
   printf("請輸入%d個課程的學分值(<%d個字符):\n",(*G).vexnum,MAX_NAME);
   for(i=0;i<(*G).vexnum;++i) /* 構造頂點向量 */
   {scanf("%s",(*G).verticestwo[i].data);
   }
   printf("請順序輸入每條弧(邊)的弧尾和弧頭(以空格作為間隔):\n");
   for(k=0;k<(*G).arcnum;++k) /* 構造表結點鏈表 */
   { scanf("%s%s",va,vb);
     i=LocateVex(*G,va); /* 弧尾 */
     j=LocateVex(*G,vb); /* 弧頭 */
     p=(ArcNode*)malloc(sizeof(ArcNode));
     p->adjvex=j;
     p->info=NULL; /* 圖 */
     p->nextarc=(*G).vertices[i].firstarc; /* 插在表頭 */
     (*G).vertices[i].firstarc=p;
    }
   return OK;
 }
void Display(ALGraph G)
 { /* 輸出圖的鄰接矩陣G */
   int i;
   ArcNode *p;
   switch(G.kind)
   {case DG: printf("有向圖\n");
   }
   printf("%d個頂點:\n",G.vexnum);
   for(i=0;i<G.vexnum;++i)
     printf("%s ",G.vertices[i].data);
   printf("\n%d條弧(邊):\n",G.arcnum);
   for(i=0;i<G.vexnum;i++)
   {
     p=G.vertices[i].firstarc;
     while(p)
     {printf("%s→%s  ",G.vertices[i].data,G.vertices[p->adjvex].data);
      p=p->nextarc;
     }
     printf("\n");
   }
 }
void FindInDegree(ALGraph G,int indegree[])
 { /* 求頂點的入度,算法調用 */
   int i;
   ArcNode *p;
   for(i=0;i<G.vexnum;i++)
     indegree[i]=0; /* 賦初值 */
   for(i=0;i<G.vexnum;i++)
   {
     p=G.vertices[i].firstarc;
     while(p)
     { indegree[p->adjvex]++;
       p=p->nextarc;
     }
   }
 }
 typedef int SElemType; /* 棧類型 */
 /*棧的順序存儲表示 */
 #define STACK_INIT_SIZE 10 /* 存儲空間初始分配量 */
 #define STACKINCREMENT 2 /* 存儲空間分配增量 */
 typedef struct SqStack
 {
   SElemType *base; /* 在棧構造之前和銷毀之后,base的值為NULL */
   SElemType *top; /* 棧頂指針 */
   int stacksize; /* 當前已分配的存儲空間,以元素為單位 */
 }SqStack; /* 順序棧 */
 /* 順序棧的基本操作 */
 Status InitStack(SqStack *S)
 { /* 構造一個空棧S */
   (*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
   if(!(*S).base)
     exit(OVERFLOW); /* 存儲分配失敗 */
   (*S).top=(*S).base;
   (*S).stacksize=STACK_INIT_SIZE;
   return OK;
}
Status StackEmpty(SqStack S)
 { /* 若棧S為空棧,則返回TRUE,否則返回FALSE */
   if(S.top==S.base)
     return TRUE;
   else
     return FALSE;
}
 Status Pop(SqStack *S,SElemType *e)
 { /* 若棧不空,則刪除S的棧頂元素,用e返回其值,并返回OK;否則返回ERROR */
   if((*S).top==(*S).base)
     return ERROR;
   *e=*--(*S).top;
   return OK;
 }
 Status Push(SqStack *S,SElemType e)
 { /* 插入元素e為新的棧頂元素 */
   if((*S).top-(*S).base>=(*S).stacksize) /* 棧滿,追加存儲空間 */
   {
     (*S).base=(SElemType *)realloc((*S).base,((*S).stacksize+STACKINCREMENT)*sizeof

(SElemType));
     if(!(*S).base)
       exit(OVERFLOW); /* 存儲分配失敗 */
     (*S).top=(*S).base+(*S).stacksize;
     (*S).stacksize+=STACKINCREMENT;
   }
   *((*S).top)++=e;
   return OK;
 }
typedef int pathone[MAXCLASS];
typedef int pathtwo[MAXCLASS];
Status TopologicalSort(ALGraph G)
 { /* 有向圖G采用鄰接表存儲結構。若G無回路,則輸出G的頂點的一個拓撲序列并返回OK, */
   /* 否則返回ERROR。 */
   int i,k,j=0,count,indegree[MAX_VERTEX_NUM];
   SqStack S;
   pathone a;
   pathtwo b;
   ArcNode *p;
   FindInDegree(G,indegree); /* 對各頂點求入度indegree[0..vernum-1] */
   InitStack(&S); /* 初始化棧 */
   for(i=0;i<G.vexnum;++i) /* 建零入度頂點棧S */
     if(!indegree[i])
       Push(&S,i); /* 入度為0者進棧 */
   count=0; /* 對輸出頂點計數 */
   while(!StackEmpty(S))
   { /* 棧不空 */
     Pop(&S,&i);
     a[i]=*G.vertices[i].data;
     b[i]=*G.verticestwo[i].data;
     printf("課程%s→學分%s  ",G.vertices[i].data,G.verticestwo[i].data); 
  /* 輸出i號頂點并計數 */
     ++count;
     for(p=G.vertices[i].firstarc;p;p=p->nextarc)
     { /* 對i號頂點的每個鄰接點的入度減1 */
       k=p->adjvex;
       if(!(--indegree[k])) /* 若入度減為0,則入棧 */
         Push(&S,k);
     }
   }
   if(count<G.vexnum)
   {printf("此有向圖有回路\n");
    return ERROR;
   }
   else
   {printf("為一個拓撲序列。\n");
   }

while(q<=xqzs) 
{ int C=0;
  if(X<=G.arcnum)
 { while(C<=xfsx)
  {C+=*G.verticestwo[Z].data;
         ++Z;
  }  
  printf("第%d個學期應學課程:",q);
  while(X<=Z)
        {cout<<*G.vertices[X].data<<" ";
  ++X;
  }
  cout<<endl;
  q++;
 }
  else
 {cout<<"課程編制已經完成!"<<endl;
 return OK;
 }
}
return OK;
}
void main()
{  ALGraph f;
   printf("教學計劃編制問題的數據模型為拓撲排序AOV-網結構。\n");
   printf("以下為教學計劃編制問題的求解過程:\n");
   printf("請輸入學期總數:");
   scanf("%d",&xqzs);
   printf("請輸入學期的學分上限:");
   scanf("%d",&xfsx);
   CreateGraph(&f);
   Display(f);
   TopologicalSort(f);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产最新精品免费| 97精品视频在线观看自产线路二| 久久99精品久久只有精品| 99精品视频在线免费观看| 日韩亚洲欧美中文三级| 亚洲图片你懂的| 久久99久久99小草精品免视看| 一本大道久久a久久综合婷婷 | 日本亚洲三级在线| aaa欧美大片| 精品理论电影在线观看| 午夜精品久久久| 色婷婷综合久色| 中文字幕免费一区| 国产一区二区三区日韩| 欧美精品99久久久**| 亚洲精品高清在线观看| 成人午夜私人影院| 国产欧美一区二区精品久导航 | 亚洲高清中文字幕| 91在线视频免费观看| 中文字幕不卡的av| 国产成人在线网站| 久久久久久影视| 精品在线播放免费| 欧美tk—视频vk| 久久99国产精品久久99| 日韩视频免费观看高清完整版在线观看 | 色琪琪一区二区三区亚洲区| 中文字幕成人在线观看| 国产成人综合精品三级| 国产日韩精品一区| 懂色av中文一区二区三区| 久久久久9999亚洲精品| 国内精品久久久久影院色| 精品国产露脸精彩对白| 久久99久久99| 久久蜜桃一区二区| 国产成人8x视频一区二区| 精品av久久707| 福利视频网站一区二区三区| 免费视频一区二区| 777午夜精品免费视频| 午夜免费久久看| 欧美一级黄色大片| 激情综合一区二区三区| 国产亚洲精品bt天堂精选| 国产成人免费视频| 亚洲欧洲精品一区二区精品久久久| 99热99精品| 亚洲一区二区三区中文字幕在线 | 国产毛片精品视频| 国产午夜亚洲精品午夜鲁丝片| 国产98色在线|日韩| 亚洲精品视频免费看| 欧美亚洲国产bt| 精品一区在线看| 中文一区在线播放| 欧美丝袜丝交足nylons| 国产自产v一区二区三区c| 欧美经典一区二区三区| 欧美色国产精品| 国内精品伊人久久久久av一坑| 国产精品每日更新在线播放网址| 色88888久久久久久影院野外| 日韩av电影天堂| 国产精品麻豆网站| 欧美一区二区三区精品| 成人av在线资源网站| 性感美女极品91精品| 久久免费美女视频| 在线观看欧美精品| 国产精品99久久久久久似苏梦涵 | 久久―日本道色综合久久| 成人av电影在线| 日韩1区2区日韩1区2区| 国产女人水真多18毛片18精品视频 | 国产一区高清在线| 亚洲成在人线在线播放| 欧美国产日韩a欧美在线观看| 欧美精品xxxxbbbb| 一本久久a久久精品亚洲| 国产一区二区在线观看视频| 亚洲国产欧美在线| 国产精品每日更新在线播放网址| 日韩一区二区免费在线电影 | 亚洲视频在线一区| 精品国产精品一区二区夜夜嗨| 91精品1区2区| 成人精品高清在线| 国产伦精一区二区三区| 日韩精品每日更新| 亚洲一二三四区| 国产美女久久久久| 日本一区中文字幕 | 91成人免费电影| 成人免费福利片| 国产一区二区不卡| 蜜臀a∨国产成人精品| 亚洲国产精品精华液网站| 中文字幕一区二区三区在线观看| 久久久精品日韩欧美| 精品久久久影院| 日韩一级片网址| 在线成人小视频| 欧美日韩www| 欧美日韩免费一区二区三区| 色就色 综合激情| 91视频在线看| 99久久精品一区| a级精品国产片在线观看| 成人午夜碰碰视频| 成人晚上爱看视频| 成人性生交大片免费看中文网站| 国产成人在线视频网站| 成人小视频免费观看| 国产精品一区免费视频| 国产传媒一区在线| 国产麻豆午夜三级精品| 国产成人激情av| youjizz久久| 一本一本大道香蕉久在线精品| 91在线视频播放地址| 色综合久久综合网97色综合| 色狠狠色狠狠综合| 欧美在线免费观看视频| 欧美精品丝袜中出| 欧美r级电影在线观看| www久久精品| 亚洲国产精华液网站w| 亚洲六月丁香色婷婷综合久久| 亚洲欧美另类久久久精品 | 欧美亚洲综合一区| 6080国产精品一区二区| 精品处破学生在线二十三| 久久久久久久电影| 国产精品久久久久四虎| 亚洲图片欧美视频| 极品少妇xxxx偷拍精品少妇| 国产福利一区二区三区视频 | 国产美女精品人人做人人爽| 成人av电影在线观看| 欧美男女性生活在线直播观看| 精品国产免费视频| 亚洲人精品午夜| 久久精品国产亚洲aⅴ| 成人小视频在线观看| 欧美午夜一区二区| 精品国精品自拍自在线| 中文一区在线播放| 日韩成人免费在线| 成人app软件下载大全免费| 欧美四级电影网| 国产日产欧美一区二区视频| 一区二区三区.www| 欧美日韩一区二区三区在线看 | 欧美一区午夜精品| 日本一二三不卡| 水蜜桃久久夜色精品一区的特点| 国产一区日韩二区欧美三区| 欧美午夜不卡视频| 亚洲国产成人在线| 美女mm1313爽爽久久久蜜臀| www.欧美精品一二区| 日韩欧美国产三级电影视频| 亚洲情趣在线观看| 国产美女视频一区| 欧美一级爆毛片| 一区二区三区.www| 国产成人精品免费看| 日韩三级视频中文字幕| 一区二区三区在线视频观看58| 久久99国内精品| 欧美日本精品一区二区三区| 国产精品拍天天在线| 国产一区二区三区久久悠悠色av| 欧美日韩视频第一区| 亚洲天天做日日做天天谢日日欢 | 日韩不卡一区二区三区| 色综合久久99| 成人欧美一区二区三区视频网页| 国产真实乱对白精彩久久| 欧美日韩久久一区| 亚洲人成精品久久久久久| 成人精品一区二区三区四区| 亚洲精品在线电影| 伦理电影国产精品| 日韩欧美一区在线| 午夜a成v人精品| 欧美精品一级二级| 日日夜夜一区二区| 欧美性色欧美a在线播放| 亚洲三级小视频| 91性感美女视频| 自拍偷自拍亚洲精品播放| 92精品国产成人观看免费| 亚洲色图在线视频| 一本久久精品一区二区| 一区二区三区波多野结衣在线观看| 色婷婷综合久久久久中文 |