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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jxjh.cpp

?? 數(shù)據(jù)結(jié)構(gòu)的課設(shè)內(nèi)容
?? CPP
字號(hào):
 #include<string.h>  
 #include<ctype.h>  
 #include<malloc.h> 
 #include<limits.h>  
 #include<stdio.h>   
 #include<stdlib.h>   
 #include<io.h>   
 #include<math.h>   
 #include<process.h>  
 #include<iostream.h>
 #include<string.h>
 #include<ctype.h>
  
 // 函數(shù)結(jié)果狀態(tài)代碼  
 #define TRUE 1  
 #define FALSE 0  
 #define OK 1  
 #define ERROR 0  
 #define INFEASIBLE -1  
 typedef int Status; // Status是函數(shù)的類型,其值是函數(shù)結(jié)果狀態(tài)代碼,如OK等
 typedef int Boolean;  //Boolean是布爾類型,其值是TRUE或FALSE 
 #define MAX_NAME 4   
 //頂點(diǎn)字符串的最大長度  
 #define MAXCLASS 100  
 int Z=0;  
 int X=0;
 int Y=0;
 int xqzs,q=1,xfsx; 
 int pd;
 typedef int InfoType;  
 typedef char VertexType[MAX_NAME]; //字符串類型 
 //圖的鄰接表存儲(chǔ)表示 
 #define MAX_VERTEX_NUM 100  
 typedef enum{DG}GraphKind; // {有向圖,有向網(wǎng),無向圖,無向網(wǎng)}   
 typedef struct ArcNode  
            {  
                int adjvex; // 該弧所指向的頂點(diǎn)的位置   
                struct ArcNode *nextarc; // 指向下一條弧的指針 
                InfoType *info; // 網(wǎng)的權(quán)值指針)    
 }ArcNode; // 表結(jié)點(diǎn)    
 typedef struct  
           {  
                VertexType data; // 頂點(diǎn)信息  
                ArcNode *firstarc; //第一個(gè)表結(jié)點(diǎn)的地址,指向第一條依附該頂點(diǎn)的弧的指針   
           }VNode,AdjList[MAX_VERTEX_NUM]; //頭結(jié)點(diǎn)  
 typedef struct  
           {  
                AdjList vertices,verticestwo,copy1,copy2;  
                int vexnum,arcnum; // 圖的當(dāng)前頂點(diǎn)數(shù)和弧數(shù)  
                int kind; // 圖的種類標(biāo)志  
           }ALGraph;  
//  圖的鄰接表存儲(chǔ)的基本操作    
 int LocateVex(ALGraph G,VertexType u)  
 { // 初始條件: 圖G存在,u和G中頂點(diǎn)有相同特征    
   // 操作結(jié)果: 若G中存在頂點(diǎn)u,則返回該頂點(diǎn)在圖中位置;否則返回-1    
   int j;  
   for(j=0;j<G.vexnum;++j)  
     if(strcmp(u,G.vertices[j].data)==0)  
       return j;  
   return -1;  
}  
Status CreateGraph(ALGraph *G)  
 { // 采用鄰接表存儲(chǔ)結(jié)構(gòu),構(gòu)造沒有相關(guān)信息的圖G(用一個(gè)函數(shù)構(gòu)造4種圖)    
   int i,j,k; 
   VertexType va,vb;  
   ArcNode *p; 
   printf("請輸入教學(xué)計(jì)劃的課程數(shù): ");  
   scanf("%d",&(*G).vexnum);  
   printf("請輸入拓?fù)渑判蛩纬傻恼n程先修關(guān)系的邊數(shù): ");  
   scanf("%d",&(*G).arcnum);  
   printf("請輸入%d個(gè)課程的代表值:\n",(*G).vexnum);  
   for(i=0;i<(*G).vexnum;++i) // 構(gòu)造頂點(diǎn)向量    
        { scanf("%s",(*G).vertices[i].data);  
          (*G).vertices[i].firstarc=NULL;  
        }  
   printf("請輸入%d個(gè)課程的學(xué)分值(<3個(gè)字符):\n",(*G).vexnum);  
   for(i=0;i<(*G).vexnum;++i) // 構(gòu)造頂點(diǎn)向量    
        {scanf("%s",(*G).verticestwo[i].data);  
        }  
   printf("請順序輸入每條弧(邊)的弧尾和弧頭(以空格作為間隔):\n");  
   for(k=0;k<(*G).arcnum;++k) // 構(gòu)造表結(jié)點(diǎn)鏈表    
       { 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;  
   printf("%d個(gè)頂點(diǎn):\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[])  
 { //求頂點(diǎn)的入度 
   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; // 棧類型    
 //棧的順序存儲(chǔ)表示    
 #define STACK_INIT_SIZE 10 // 存儲(chǔ)空間初始分配量   

#define STACKINCREMENT 2 // 存儲(chǔ)空間分配增量    
 typedef struct SqStack  
        {  
         SElemType *base; // 在棧構(gòu)造之前和銷毀之后,base的值為NULL    
         SElemType *top; // 棧頂指針    
         int stacksize; // 當(dāng)前已分配的存儲(chǔ)空間,以元素為單位    
        }SqStack; //順序棧    
 // 順序棧的基本操作    
 Status InitStack(SqStack *S)  
 { // 構(gòu)造一個(gè)空棧S    
   (*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));  
   if(!(*S).base)  
     exit(OVERFLOW); //存儲(chǔ)分配失敗    
   (*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) // 棧滿,追加存儲(chǔ)空間    
           {  
             (*S).base=(SElemType *)realloc((*S).base,((*S).stacksize+STACKINCREMENT)*sizeof  (SElemType));  
             if(!(*S).base)  
             exit(OVERFLOW); // 存儲(chǔ)分配失敗   
             (*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采用鄰接表存儲(chǔ)結(jié)構(gòu)。若G無回路,則輸出G的頂點(diǎn)的一個(gè)拓?fù)湫蛄胁⒎祷豋K,  
   // 否則返回ERROR。   
   int i,k,n=0,count,indegree[MAX_VERTEX_NUM];
   SqStack S;  
   pathone a;  
   pathtwo b;  
   ArcNode *p;  
   FindInDegree(G,indegree); // 對(duì)各頂點(diǎn)求入度
   InitStack(&S);
   for(i=0;i<G.vexnum;++i) // 建零入度頂點(diǎn)棧S   
     if(!indegree[i])  
       Push(&S,i); // 入度為0者進(jìn)棧   
   count=0; // 對(duì)輸出頂點(diǎn)計(jì)數(shù)   
   while(!StackEmpty(S))  
       { // 棧不空   
           Pop(&S,&i);  
           a[i]=*G.vertices[i].data;  
           b[i]=*G.verticestwo[i].data;
           printf("課程%s→學(xué)分%s  ",G.vertices[i].data,G.verticestwo[i].data);   
           // 輸出i號(hào)頂點(diǎn)并計(jì)數(shù)
          ++count; 
          strcpy(G.copy1[n].data,G.vertices[i].data);
          strcpy(G.copy2[n].data,G.verticestwo[i].data);
          ++n;
         for(p=G.vertices[i].firstarc;p;p=p->nextarc)  
            { // 對(duì)i號(hào)頂點(diǎn)的每個(gè)鄰接點(diǎn)的入度減1   
              k=p->adjvex;  
              if(!(--indegree[k])) // 若入度減為0,則入棧    
              Push(&S,k);  
            }
       }  
   if(count<G.vexnum)  
       {printf("此有向圖有回路\n");  
        return ERROR;  
       }  
   else  
       {printf("為一個(gè)拓?fù)湫蛄小n"); 
       } 
   if(pd==1)
	{printf("課程負(fù)擔(dān)均勻的方案為:\n");
	   while(q<=xqzs)
		{
	     Z=G.vexnum/xqzs;
	     printf("第%d個(gè)學(xué)期應(yīng)學(xué)課程:",q);
	     Y=Y+Z;
	     while(X<Y)
			{
		     printf("%s ", G.copy1[X].data);
		     X++;
			}
	     printf("\n");
	     q++;
		}
	}
   else 
	   if(pd==2)
		{printf("課程向前集中的方案為:\n");
		   while(q<=xqzs)   
			{
			 int C=0 ;  
             while(Z<G.vexnum)  
				{ 
                 C+=*G.copy2[Z].data-48;
                 if(C<=xfsx)
                   Z++;
                 else break;
				}
             printf("第%d個(gè)學(xué)期應(yīng)學(xué)課程:",q);
             while(X<=Z-1)
				{
	             printf("%4s",G.copy1[X].data);
	             X++;
				}
			 printf("\n");
             q++;
			} 
		}
	   else
		   printf("輸入錯(cuò)誤!\n");
if(pd==1||pd==2)		  
	{printf("課程編制已經(jīng)完成!");     
     return OK;
	}
printf("\n");
return OK;
}  

void main()  
{  ALGraph f;  
   printf("請輸入學(xué)期總數(shù):");  
   scanf("%d",&xqzs);  
   printf("請輸入學(xué)期的學(xué)分上限:");  
   scanf("%d",&xfsx);  
   CreateGraph(&f);
   printf("請選擇課程負(fù)擔(dān)均勻(輸入1)或課程向前集中(輸入2):");
   scanf("%d",&pd);
   Display(f);  
   TopologicalSort(f);
} 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧美日韩日本| 成人免费视频一区| 亚洲国产精品视频| 亚洲制服丝袜av| 午夜激情久久久| 奇米影视一区二区三区小说| 日韩电影在线观看电影| 国产一区二区在线看| 福利电影一区二区| 精品视频色一区| 日韩精品一区二区三区中文精品| 精品国产一区二区三区久久久蜜月| 日韩视频一区二区在线观看| 精品日韩一区二区| 亚洲综合一二三区| 国产高清不卡二三区| 欧美亚洲国产一区在线观看网站| 欧美精品粉嫩高潮一区二区| 国产人成一区二区三区影院| 亚洲午夜电影在线观看| 国产成人亚洲综合a∨猫咪| 91久久免费观看| ●精品国产综合乱码久久久久| 午夜成人免费电影| 欧洲精品中文字幕| 国产精品乱码久久久久久| 六月丁香综合在线视频| 欧美亚一区二区| 亚洲一区二区三区中文字幕在线| 久久电影网电视剧免费观看| 欧美男女性生活在线直播观看| 国产精品人成在线观看免费 | 免费看精品久久片| 蜜芽一区二区三区| 成人免费毛片片v| 国产精品午夜在线| 国产精品一区二区在线观看不卡 | 91美女在线看| 国产精品午夜电影| 99久久国产综合色|国产精品| 国产亚洲精品bt天堂精选| 国产精品自拍av| 亚洲国产精品激情在线观看| 成人污污视频在线观看| 久久精品亚洲麻豆av一区二区| 国产高清久久久久| 有坂深雪av一区二区精品| 欧美日韩午夜在线| 激情小说欧美图片| 国产精品成人网| 日韩一区二区精品在线观看| 精品写真视频在线观看| 国产精品久久久久aaaa樱花| 欧美午夜精品理论片a级按摩| 免费的成人av| 亚洲精品久久嫩草网站秘色| 在线观看91精品国产麻豆| 国产白丝精品91爽爽久久 | 久久99精品国产| 亚洲人成亚洲人成在线观看图片| 制服丝袜日韩国产| 97精品久久久久中文字幕| 久久精工是国产品牌吗| 亚洲精品日日夜夜| 中文字幕不卡三区| 久久久噜噜噜久噜久久综合| 在线播放国产精品二区一二区四区| 国产老妇另类xxxxx| 激情亚洲综合在线| 麻豆91在线观看| 国产一区二区成人久久免费影院 | 国产亚洲精品7777| 欧美成人一区二区三区在线观看| 精品视频一区二区三区免费| 日本高清无吗v一区| 色成人在线视频| 欧美中文字幕亚洲一区二区va在线| 成人免费视频网站在线观看| 国产成人免费在线视频| 国产xxx精品视频大全| 国产在线播放一区二区三区| 国产精品影视在线观看| 国产精品亚洲第一区在线暖暖韩国| 美女任你摸久久| 成人福利视频在线看| 色悠悠亚洲一区二区| 欧美色男人天堂| 日韩精品中午字幕| 国产精品美女久久久久久2018 | 26uuu另类欧美| 亚洲在线成人精品| 亚洲人成影院在线观看| 中文字幕日韩av资源站| 亚洲人精品午夜| 久久精品99久久久| 在线免费观看日韩欧美| 精品1区2区在线观看| 一区二区不卡在线播放| 国产一区二区剧情av在线| eeuss鲁一区二区三区| 日韩一区二区免费电影| 一区二区免费视频| av电影一区二区| 久久久久久久久久美女| 美女一区二区视频| 欧美一区二区日韩| 天堂蜜桃91精品| 欧美巨大另类极品videosbest | 7777精品伊人久久久大香线蕉最新版| 国产欧美日韩精品一区| 国产剧情av麻豆香蕉精品| 在线综合视频播放| 另类小说图片综合网| 欧美美女一区二区三区| 一个色综合网站| 欧美中文字幕一区二区三区 | 欧美二区三区91| 久久精品国产亚洲aⅴ| 久久久久久亚洲综合| 国产精品资源在线| 中文字幕中文在线不卡住| jizzjizzjizz欧美| 亚洲一区二区三区在线| 欧美一级片在线| 成人午夜精品在线| 亚洲一区二区三区四区中文字幕| 欧美午夜精品一区二区三区 | 欧美片在线播放| 国产伦精品一区二区三区免费迷| 久久这里只有精品首页| 成人国产精品免费观看动漫| 亚洲成人第一页| 久久久久99精品一区| 国产日产欧美一区二区视频| 欧洲精品一区二区三区在线观看| 国产成人亚洲精品青草天美| 亚洲视频精选在线| 国产精品热久久久久夜色精品三区| 国产婷婷色一区二区三区| 2021国产精品久久精品| 国产清纯美女被跳蛋高潮一区二区久久w| 精品国产伦一区二区三区观看方式 | 日韩不卡免费视频| 美国精品在线观看| 成人在线视频一区二区| 91黄色免费版| 日韩亚洲欧美一区二区三区| 国产日韩欧美在线一区| 一区二区欧美在线观看| 日本福利一区二区| 欧美日韩国产一级片| 欧美精品一区二区在线播放| 国产精品不卡视频| 日本不卡一区二区三区高清视频| 国产自产v一区二区三区c| 一本色道**综合亚洲精品蜜桃冫| 91精品欧美久久久久久动漫| 国产精品久久影院| 日韩主播视频在线| av一二三不卡影片| 日韩一区二区在线观看视频播放| 成人免费在线视频| 精品一区二区日韩| 在线观看日韩国产| 久久久蜜桃精品| 日韩成人一级大片| 91美女片黄在线观看91美女| 日韩三级在线免费观看| 亚洲蜜桃精久久久久久久| 国产一区二区调教| 欧美日韩一区中文字幕| 国产精品久久久一本精品| 精品一区二区三区在线视频| 欧洲一区二区三区在线| 国产精品久久久久一区二区三区| 免费人成黄页网站在线一区二区 | 日本成人在线网站| 欧洲人成人精品| 综合电影一区二区三区 | 欧美国产成人在线| 国产一区二区三区在线看麻豆| 在线观看视频91| 亚洲精品视频在线观看免费 | 欧洲色大大久久| 一区二区三区资源| 99精品国产一区二区三区不卡| 久久麻豆一区二区| 国模无码大尺度一区二区三区| 欧美日韩黄色影视| 亚洲午夜私人影院| 一本久久a久久免费精品不卡| 国产精品久久久久影院老司| 成人午夜av在线| 国产精品国产三级国产aⅴ入口 | 国产在线精品不卡| www国产成人| 国产精品2024| 国产精品婷婷午夜在线观看| 成人综合日日夜夜| 国产精品的网站|