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

正文內(nèi)容

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

2025-01-03 21:52 本頁(yè)面


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