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

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

?? jxjh.cpp

?? 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計
?? CPP
字號:
#include<iostream>
#include<string>
#include <stdlib.h>
using namespace std;

#define MAX_TERM_NUM 12
#define MAX_CLASS_NUM 100
#define STACK_SIZE 100

typedef struct ArcNode{
	int adjvex;
	struct ArcNode *nextarc;
}ArcNode;

typedef struct VNode{
	string classorder;       //課程號
	int score;               //學(xué)分
	string preclass[5];      //先修課程數(shù)組
	ArcNode *firstarc;
}VNode,AdjList[MAX_CLASS_NUM];

typedef struct{
	AdjList classvexes;
	int classnum;
}AOV_Graph;

typedef struct{
	int *base;
	int *top;
	int stacksize;
}SqStack;

 //函數(shù)聲明 
void InitGraph(AOV_Graph &AG);              // 初始化AOV網(wǎng)                    
void CreateGraph(AOV_Graph &AG);
void TopologicalSort(AOV_Graph AG,AdjList vertices);       //創(chuàng)建AOV網(wǎng)
int getindex(AdjList classvexes, string classorder);       //獲得當(dāng)前頂點的下標(biāo)
void FindIndegree(AOV_Graph AG, int indegree[]);           //找到每個頂點的如度并存入indegree[]
void InitStack(SqStack *s);                 //初始化棧
bool StackEmpty(SqStack s);                 //判斷棧為空
void Push(SqStack *s, int i);               //棧操作push
int Pop(SqStack *s, int &i);                //棧操作pop
void ArrangeOrder(AOV_Graph AG, int limitescore, int termnum,AdjList vertices);  //對拓?fù)湫蛄羞M行編制

int main(){                        //main函數(shù)

	cout<<"-----------------------------------------------------"<<endl
		<<"本程序處于測試階段,請嚴(yán)格遵守操作規(guī)則!"<<endl<<endl
		<<"任何非法操作都將使程序陷入癱瘓狀態(tài)?。?!"<<endl
		<<"-----------------------------------------------------"<<endl;

	int i=0;
	int termnum=0, limitescore=0, classnum=0;
	AOV_Graph AG;
	AdjList vertices;        //用于存儲拓?fù)湫蛄?	
	cout<<"請輸入學(xué)期總數(shù)的最大值:"<<endl;
	cin>>termnum;               //學(xué)期總數(shù)的最大值
	cout<<endl;
	cout<<"請輸入學(xué)期學(xué)分上限:"<<endl;
	cin>>limitescore;           //學(xué)期學(xué)分上限
	cout<<endl;
	cout<<"請輸入課程總數(shù):"<<endl;
	cin>>classnum;
	cout<<endl;                  //課程總數(shù)

	AG.classnum=classnum;


	InitGraph(AG);
	CreateGraph(AG);
	TopologicalSort(AG,vertices);
    ArrangeOrder( AG, limitescore,  termnum, vertices);

	return 0;
}
                                         
void InitGraph(AOV_Graph &AG){
	// 初始化AOV網(wǎng) 
	int i=0, j=0;
	for(i=0; i<AG.classnum ;i++){
		AG.classvexes[i].classorder="000";
		AG.classvexes[i].score=0;
		AG.classvexes[i].firstarc=NULL;
		for(j=0;j<5;j++)
			AG.classvexes[i].preclass[j]="000";
	}
}

void CreateGraph(AOV_Graph &AG){
	//創(chuàng)建AOV網(wǎng)
	int i=0, j=0, index=0;
	string *p;           //指向先修課程的指針
	ArcNode *q;          //指向定點的指針

	cout<<"請輸入每門課程的課程號:"<<endl;
	for(i=0;i<AG.classnum;i++)
		cin>>AG.classvexes[i].classorder;
	cout<<endl;

	for(i=0; i<AG.classnum; i++){

		cout<<"請輸入"<<AG.classvexes[i].classorder<<"課程的學(xué)分:"<<endl;
		cin>>AG.classvexes[i].score ;
		cout<<endl;

		cout<<"請輸入"<<AG.classvexes[i].classorder<<"課程的先修課程的課程號(您需要且最多輸入5門課程,如果沒有先修課程或者不足5門,請輸入000代替課程號:"<<endl;
		for(j=0; j<5; j++) 
			cin>>AG.classvexes[i].preclass[j];
        cout<<endl;

		p=(string*)(AG.classvexes[i].preclass);

		while(*p!="000"){                //這部分代碼很重要 ,是創(chuàng)建圖的關(guān)鍵
			index=getindex(AG.classvexes,*p);                   
			q=(ArcNode*)malloc(sizeof(ArcNode));
			q->adjvex=i;
			q->nextarc=AG.classvexes[index].firstarc;
			AG.classvexes[index].firstarc=q;        //插入到頭節(jié)點
			p++;	
		}
	}
}

void TopologicalSort(AOV_Graph AG,AdjList vertices){
	//對AOV網(wǎng)進行拓?fù)渑判虿⒔Y(jié)果存儲在vertices[]中
	int i=0,j=0,k=0,count=0;
	ArcNode *p;
	SqStack s;
	
	int *indegree=new int[AG.classnum];          //存儲頂點如度
	for(i=0;i<AG.classnum;i++)
		indegree[i]=0;

	InitStack(&s);
	FindIndegree(AG, indegree); 

	for(i=0;i<AG.classnum;i++) 
		if(indegree[i]==0)  Push(&s,i);

	while(!StackEmpty(s)){
		Pop(&s,i);

		vertices[count].classorder=AG.classvexes[i].classorder;
		vertices[count].firstarc=AG.classvexes[i].firstarc;
		vertices[count].score=AG.classvexes[i].score;
		for(j=0;j<5;j++)  vertices[count].preclass[j]=AG.classvexes[i].preclass[j];

		count++;

		for(p=AG.classvexes[i].firstarc; p; p=p->nextarc){
			k=p->adjvex;
			if(!(--indegree[k])) Push(&s,k);        //去掉頂點后入度為零的定點入棧
		}
	}


	if(count>AG.classnum)          //出錯信息
		cout<<"程序出現(xiàn)錯誤!??!以下輸出為無效數(shù)據(jù)!?。≌埵謩咏Y(jié)束,重新運行!??!"<<endl;

}


int getindex(AdjList classvexes, string classorder){
	//獲得當(dāng)前頂點的下標(biāo)
	int i=0;
	while(!(classvexes[i].classorder==classorder))  i++;
	return i;
}


void FindIndegree(AOV_Graph AG, int indegree[]){
	//找到每個頂點的如度并存入indegree[]
	int i=0;
	ArcNode *q;
	for(i=0;i<AG.classnum;i++){
		q=AG.classvexes[i].firstarc;
		while(q){
			indegree[q->adjvex]++;
			q=q->nextarc;
		}
	}
}

void InitStack(SqStack *s){
	//初始化棧
	s->base=(int*)malloc(STACK_SIZE*sizeof(int));
	s->stacksize=STACK_SIZE;
	s->top=s->base;
}

bool StackEmpty(SqStack s){
	 //判斷棧為空
	if(s.top==s.base)
		return true;
	else
		return false;
}

void Push(SqStack *s, int i){
	*(s->top)++=i;
}

int Pop(SqStack *s, int &i){
	i=*--(s->top);
	return i;
}
		
void ArrangeOrder(AOV_Graph AG, int limitescore, int termnum,AdjList vertices){
	//對拓?fù)湫蛄羞M行編制
	int i=0, k=0,m=0; 
	int scoresum=0, count=0;

	cout<<"對于教學(xué)計劃進行的拓?fù)渑判蚪Y(jié)果如下:"<<endl<<"課程號(學(xué)分):"<<endl<<endl;

	for(m=0;m<AG.classnum;m++) 
		cout<<vertices[m].classorder<<" ( "
		<<vertices[m].score<<" )"<<endl<<endl;

	while(i<AG.classnum){

		while(scoresum<=limitescore&&i<AG.classnum){
			scoresum+=vertices[i].score;
			i++;
		}

		scoresum=vertices[i-1].score;
			
		while(k<i-1){
			cout<<vertices[k].classorder<<"   ( "
				<<vertices[k].score<<" )"<<"     ";
			k++;
		}
	
		count++;

		cout<<"第"<<count<<"個學(xué)期教學(xué)計劃編制完畢."<<endl;

	}

	cout<<vertices[AG.classnum-1].classorder<<" ( "
		<<vertices[AG.classnum-1].score<<" )"<<"     "
		<<"第"<<count+1<<"個學(xué)期教學(xué)計劃編制完畢."<<endl<<endl;

	if(count>termnum)  cout<<"程序出現(xiàn)錯誤?。?!請手動結(jié)束,重新運行?。?!"<<endl;
	else cout<<"教學(xué)計劃配置成功。"<<endl;

}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品在线观看播放| 日韩欧美一二三四区| 91精品国产手机| 国产精品美女www爽爽爽| 日本成人在线不卡视频| 懂色一区二区三区免费观看| 制服.丝袜.亚洲.另类.中文| 中文字幕乱码一区二区免费| 美女脱光内衣内裤视频久久影院| 91美女蜜桃在线| 日本一区二区三区在线观看| 青青国产91久久久久久| 欧美三级电影一区| 中文字幕制服丝袜一区二区三区| 久久se精品一区二区| 欧美日韩在线播放三区| 中文字幕亚洲一区二区av在线| 美女视频网站久久| 91精品福利在线一区二区三区| 一区二区三区日韩精品视频| 99精品视频一区二区三区| 久久蜜桃香蕉精品一区二区三区| 肉丝袜脚交视频一区二区| 在线精品视频免费播放| 亚洲欧洲精品一区二区三区不卡| 国产精品一级在线| 久久久久久久久久久久电影 | 亚洲欧美日韩电影| 国产成人在线影院| 久久久久国产精品人| 狠狠色伊人亚洲综合成人| 精品国产在天天线2019| 久久99精品久久久久久久久久久久| 国产精品欧美极品| 不卡在线视频中文字幕| 国产精品美女久久久久久久久久久| 国产不卡视频一区二区三区| 欧美激情一区二区三区蜜桃视频 | 亚洲丶国产丶欧美一区二区三区| 在线看日本不卡| 亚洲电影一级黄| 日韩你懂的在线观看| 极品少妇xxxx精品少妇| 欧美激情一区二区三区全黄| 99综合电影在线视频| 亚洲最大色网站| 日韩一区二区三区在线| 国产精品一卡二卡| 亚洲美女屁股眼交3| 欧美日韩三级一区二区| 麻豆一区二区三| 欧美激情综合五月色丁香小说| 成人av高清在线| 亚洲成人精品一区二区| 日韩欧美在线影院| 成人免费毛片高清视频| 亚洲福利一二三区| 久久你懂得1024| 欧美伊人久久久久久午夜久久久久| 日韩成人一级大片| 久久精品日韩一区二区三区| 99精品久久99久久久久| 午夜精品爽啪视频| 中文字幕av不卡| 在线成人av网站| 丁香婷婷综合激情五月色| 亚洲国产视频a| 久久精品免费在线观看| 日本精品一区二区三区四区的功能| 日韩中文字幕区一区有砖一区 | 欧美理论在线播放| 国产福利一区二区| 日韩精品免费专区| 中文字幕免费不卡| 日韩欧美一级在线播放| 成人激情开心网| 免费观看久久久4p| 一区二区三区四区激情| 久久青草欧美一区二区三区| 欧美性猛交xxxxxxxx| 成人福利电影精品一区二区在线观看| 亚洲一区二区三区爽爽爽爽爽| 337p粉嫩大胆噜噜噜噜噜91av | 欧美激情综合在线| 日韩一区二区三区在线视频| 91浏览器打开| 懂色一区二区三区免费观看 | 欧美大片免费久久精品三p | 欧美大片在线观看一区二区| 粉嫩av亚洲一区二区图片| 日韩vs国产vs欧美| 亚洲精品中文字幕乱码三区| 久久久欧美精品sm网站| 91精品国产综合久久久久久久| 不卡的av在线播放| 国产精品一级黄| 久久99九九99精品| 青草av.久久免费一区| 亚洲一区二区av电影| 亚洲视频你懂的| 中文字幕制服丝袜成人av| 久久精品人人做人人爽人人| 欧美一区二区在线观看| 欧美中文字幕一区| 欧美主播一区二区三区| 91国内精品野花午夜精品| 91一区二区在线| k8久久久一区二区三区 | 自拍偷拍欧美激情| 国产精品视频一区二区三区不卡| 久久久91精品国产一区二区精品 | 91免费在线播放| www.亚洲免费av| 99久久久久久| 一本到高清视频免费精品| 一本久久综合亚洲鲁鲁五月天| 99久久综合国产精品| 99精品在线观看视频| 色综合久久久久综合| 在线中文字幕一区| 欧美性生交片4| 7799精品视频| 精品久久五月天| 国产日本亚洲高清| 综合激情成人伊人| 亚洲第一福利一区| 免费在线观看一区| 国产河南妇女毛片精品久久久 | 亚洲欧美中日韩| 亚洲激情五月婷婷| 性感美女极品91精品| 日韩黄色一级片| 国产一区欧美一区| 99精品在线观看视频| 欧美日本在线播放| 欧美精品一区二区三区在线播放| 久久这里只有精品视频网| 国产精品天干天干在线综合| 亚洲男人电影天堂| 日韩成人dvd| 岛国一区二区三区| 欧美色综合久久| 久久一区二区视频| 亚洲男同1069视频| 奇米777欧美一区二区| 国产91富婆露脸刺激对白| 91国产精品成人| 精品国产百合女同互慰| 亚洲三级久久久| 蜜桃av一区二区三区| 97se狠狠狠综合亚洲狠狠| 一区二区日韩av| 精东粉嫩av免费一区二区三区| 国产91在线观看丝袜| 欧美综合欧美视频| 日本一区二区三区在线观看| 亚洲成人动漫精品| 成人精品视频一区二区三区| 欧美日韩在线播| 中文字幕高清一区| 日本不卡一区二区| 91麻豆国产福利在线观看| 欧美电影免费观看高清完整版在 | 国产精品青草久久| 青青青伊人色综合久久| 色狠狠一区二区| 日本一二三不卡| 免费成人在线影院| 99久久精品免费精品国产| 久久久亚洲国产美女国产盗摄 | 亚洲品质自拍视频| 国产乱码精品1区2区3区| 欧美精品丝袜中出| 亚洲图片你懂的| 国产成人精品三级| 日韩欧美在线影院| 婷婷丁香激情综合| 色婷婷av一区二区三区软件| 欧美国产精品专区| 精品系列免费在线观看| 欧美老人xxxx18| 亚洲一区在线观看网站| 91免费国产视频网站| 国产精品欧美综合在线| 国产一区二区免费看| 欧美本精品男人aⅴ天堂| 日韩精品一区第一页| 欧美少妇一区二区| 亚洲国产精品人人做人人爽| 在线亚洲免费视频| 亚洲已满18点击进入久久| av在线不卡免费看| 亚洲三级电影网站| 99re在线精品| 樱花草国产18久久久久| 99国产精品久久久久久久久久| 国产精品九色蝌蚪自拍| 成人avav在线| 一区二区三区四区在线| 91官网在线免费观看|