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

正文內(nèi)容

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

2025-03-07 21:52本頁面
  

【正文】 :\n。 k = e。 cinijt。 pstart = i+65。 pvp = j。 gadjlist[i].++。 pnextarc = gadjlist[i].firstarc。 }}計(jì)算出各事件及活動(dòng)的的相關(guān)信息:void EventInfo(ALGraph *g) //計(jì)算各事件及活動(dòng)的相關(guān)信息{ ArcNode *p = new ArcNode。 gadjlist[0]. = 0。 i gn。 while (p != NULL) { k = pvp。 } else //否則就取當(dāng)前計(jì)算出來的值 { gadjlist[k]. = gadjlist[i]. + ptime。 } } gadjlist[gn1]. = gadjlist[gn1].。 i = 0。 while (p != NULL) { k = pvp。 } else //否則就取當(dāng)前計(jì)算出來的值 { gadjlist[i]. = gadjlist[k]. ptime。 } } for (i = 0。 i ++) //計(jì)算各弧所代表的活動(dòng)最早開始e、最遲開始l以及可以拖延的時(shí)間d { p = gadjlist[i].firstarc。 pe = gadjlist[i].。 //某活動(dòng)的最遲開始時(shí)間l是該活動(dòng)的終點(diǎn)所表示的事件的最遲開始時(shí)間與該活動(dòng)的所需時(shí)間之差:l = vltime pd = pl pe。 } }}輸出工程圖的相關(guān)信息:void OutputGraph(ALGraph *g) //輸出工程圖的相關(guān)信息{ coutevent\t ve:\t vlendl。 i gn。 coutendl。 i gn。 while (p != NULL) { cout(pstart,pend)。 cout\t\t pe \t pl \t pd \t ptimeendl。 } coutendl。 //sum用來記錄輸出的頂點(diǎn)數(shù),以判斷途中是否有回路 int st[MAXV], top = 1。 for (i = 0。 i ++) { if (gadjlist[i]. == 0) //入度為0的頂點(diǎn)入棧 { top ++。 } while (top 1) //棧不為空時(shí)就循環(huán) { i = st[top]。 //出棧 // coutchar(i+65) 。 p = gadjlist[i].firstarc。 gadjlist[j]. 。 st[top] = j。 //找下一個(gè)相鄰頂點(diǎn) } } } coutendl。}計(jì)算并輸出關(guān)鍵活動(dòng):void KeyActs(ALGraph *g) //計(jì)算并輸出關(guān)鍵活動(dòng){ ArcNode *p。 for (int i = 0。 i++) { p = gadjlist[i].firstarc。 } p = pnextarc。}計(jì)算并輸出關(guān)鍵路徑:void KeyPath(ALGraph *g) //計(jì)算并輸出關(guān)鍵路徑{ ArcNode t[MAXV], *p。 //j指示t數(shù)組下標(biāo) int count = 0。 for (int i = 0。 i ++) { p = gadjlist[i].firstarc。 t[j].end = pend。 if (pend == gadjlist[gn1].) //當(dāng)某活動(dòng)的結(jié)束事件就是整個(gè)工程的結(jié)束事件時(shí)就出現(xiàn)一條關(guān)鍵路徑 count ++。 } } int sign。 //一條關(guān)鍵路徑計(jì)算完的標(biāo)志 int k = 0。 //當(dāng)發(fā)生分叉時(shí)用于交換的中間變量 while(count 0) { flag = 0。 while (flag != 1) { if (k == 0 || t[k].start == t[sign].end) //如果活動(dòng)源點(diǎn)或是上一活動(dòng)的結(jié)束事件此次活動(dòng)的開始事件則輸出 { coutt[k].start — 。 if (t[k].end == gadjlist[gn1].) { coutt[k].endendl。 count 。 if (t[k].start == t[sign].start) //如果有分叉即兩活動(dòng)的開始事件相同、結(jié)束事件不同時(shí)就將兩項(xiàng)活動(dòng) { //的結(jié)束事件交換,以便計(jì)算下一條路徑時(shí)不發(fā)生重復(fù) num = t[k1].end。 t[k].end = num。 int flag1, flag2。 cout| |endl。 cout| |endl。 cout\n請(qǐng)選擇:。 if (choose1 == 39。 || choose1 == 39。) { ALGraph *G = new ALGraph。 CreateGraph(G)。 flag1 = 0。 EventInfo(G)。 cinch。Y39。y39。 cout\n工程的最短工期為:Gadjlist[Gn1].天endl。 KeyPath(G)。 cinchoose2。Y39。y39。 else { cout\n 謝謝使用!歡迎再次使用! endl。 } coutendlendl。Q39。q39。 exit(1)。 } } while (flag2)。但是在做的過程中才真正發(fā)現(xiàn)這個(gè)算法并不是那么簡(jiǎn)單,我花了幾乎一天半的時(shí)間就為了把它寫出來,但是一直無果,然后又在圖書館查閱大量書籍,雖然還是沒有找到相關(guān)算法,但是在查閱的過程中我學(xué)習(xí)到了很多算法思想,這應(yīng)該是我這次課程設(shè)計(jì)最大的收獲吧。我從這次課程設(shè)計(jì)中所得的另外一個(gè)很大的收獲是:不能因?yàn)閱栴}難就逃避它,只有勇于嘗試才可能解決根本問題。五、附件(完整源代碼):include include define MAXV 50typedef struct//頂點(diǎn)類型{ char num。 //頂點(diǎn)出度 int in_d。 //頂點(diǎn)所表示的事件的最早發(fā)生時(shí)間 int vl。typedef struct arode//弧的結(jié)點(diǎn)結(jié)構(gòu)類型{ char start。 //該弧的終點(diǎn),表示此弧所代表的活動(dòng)的結(jié)束事件 int vp。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1