freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告---關(guān)鍵路徑-文庫吧

2025-01-03 21:52 本頁面


【正文】 ArcNode。 pstart = i+65。 pend = j+65。 pvp = j。 ptime = t。 gadjlist[i].++。 gadjlist[j].++。 pnextarc = gadjlist[i].firstarc。 gadjlist[i].firstarc = p。 }}計算出各事件及活動的的相關(guān)信息:void EventInfo(ALGraph *g) //計算各事件及活動的相關(guān)信息{ ArcNode *p = new ArcNode。 int i, k。 gadjlist[0]. = 0。 //對于源點,置其ve = 0 for (i = 0。 i gn。 i ++) //計算各頂點所表示事件的最早發(fā)生時間ve { p = gadjlist[i].firstarc。 while (p != NULL) { k = pvp。 if (gadjlist[k]. != 0) //如果該事件的ve已經(jīng)有值,則取源點到該事件的所有路徑長度的最大值 { gadjlist[k]. = Max(gadjlist[k]., gadjlist[i]. + ptime)。 } else //否則就取當(dāng)前計算出來的值 { gadjlist[k]. = gadjlist[i]. + ptime。 } p = pnextarc。 } } gadjlist[gn1]. = gadjlist[gn1].。 //對于匯點,置其vl = ve for (i = gn 1。 i = 0。 i ) //計算各頂點所表示事件的最遲發(fā)生時間vl { p = gadjlist[i].firstarc。 while (p != NULL) { k = pvp。 if (gadjlist[i]. != 0) //如果該事件的vl已經(jīng)有值,則取該事件到匯點的最長路徑之差 { gadjlist[i]. = Min(gadjlist[i]., gadjlist[k]. ptime)。 } else //否則就取當(dāng)前計算出來的值 { gadjlist[i]. = gadjlist[k]. ptime。 } p = pnextarc。 } } for (i = 0。 i gn。 i ++) //計算各弧所代表的活動最早開始e、最遲開始l以及可以拖延的時間d { p = gadjlist[i].firstarc。 while (p != NULL) { k = pvp。 pe = gadjlist[i].。 //某活動的最早開始時間是該活動的起點所表示的事件的最早發(fā)生時間:e = ve pl = gadjlist[k]. ptime。 //某活動的最遲開始時間l是該活動的終點所表示的事件的最遲開始時間與該活動的所需時間之差:l = vltime pd = pl pe。 //某活動可以推遲的時間是其最遲開始時間與最早開始時間之差 p = pnextarc。 } }}輸出工程圖的相關(guān)信息:void OutputGraph(ALGraph *g) //輸出工程圖的相關(guān)信息{ coutevent\t ve:\t vlendl。 for (int i = 0。 i gn。 i ++) coutgadjlist[i].\t gadjlist[i].\t gadjlist[i].endl。 coutendl。 for (i = 0。 i gn。 i++) { ArcNode *p = gadjlist[i].firstarc。 while (p != NULL) { cout(pstart,pend)。 cout\t\t e\t l\t d \t timeendl。 cout\t\t pe \t pl \t pd \t ptimeendl。 p = pnextarc。 } coutendl。 }}判斷圖中是否有回路:int TopSort(ALGraph *g) //用來判斷圖中是否有回路{ int i, j, sum = 0。 //sum用來記錄輸出的頂點數(shù),以判斷途中是否有回路 int st[MAXV], top = 1。 //棧st的指針為top ArcNode *p。 for (i = 0。 i gn。 i ++) { if (gadjlist[i]. == 0) //入度為0的頂點入棧 { top ++。 st[top] = i。 } while (top 1) //棧不為空時就循環(huán) { i = st[top]。 top。 //出棧 // coutchar(i+65) 。 //輸出頂點 sum ++。 p = gadjlist[i].firstarc。 //找第一個相鄰頂點 while (p != NULL) { j = pvp。 gadjlist[j]. 。 if (gadjlist[j]. == 0) //入度為0的相鄰頂點入棧 { top ++。 st[top] = j。 } p = pnextarc。 //找下一個相鄰頂點 } } } coutendl。 return (sum == gn)。}計算并輸出關(guān)鍵活動:void KeyActs(ALGraph *g) //計算并輸出關(guān)鍵活動{ ArcNode *p。 cout\n關(guān)鍵活動有:endl。 for (int i = 0。 i gn。 i++) { p = gadjlist[i].firstarc。 while (p != NULL) { if (pd == 0) //如果p指向的活動是關(guān)鍵活動,就將此活動輸出 { cout (pstart—pend) 。 } p = pnextarc。 } } coutendl。}計算并輸出關(guān)鍵路徑:void KeyPath(ALGraph *g) //計算并輸出關(guān)鍵路徑{ ArcNode t[MAXV], *p。 //t[MAVX]數(shù)組用來存放代表關(guān)鍵活動的邊的信息 int j = 0。 //j指示t數(shù)組下標 int count = 0。 //記錄關(guān)鍵路徑的條數(shù) cout\n關(guān)鍵路徑有:endl。 for (int i = 0。 i gn。 i ++) { p = gadjlist[i].firstarc。 while (p != NULL) {
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1