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

正文內(nèi)容

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

2025-02-02 21:52本頁面
  

【正文】 //完成該弧所表示的活動(dòng)所需的時(shí)間 int e。 //該弧所代表的活動(dòng)的最遲開始時(shí)間 int d。 //指向下一條弧的指針 }ArcNode。 //該頂點(diǎn)的相關(guān)信息 ArcNode *firstarc。typedef struct{ int n, e。 //鄰接鏈表}ALGraph。}int Min(int x, int y){ return (x y ? x : y)。 int i, j, k, n, e, t, sign。 do { sign = 1。 if ((n == 0) || (e n1)) { cout數(shù)據(jù)有誤,請檢查后重新輸入!endl。 } } while (!sign)。 ge = e。 i n。 gadjlist[i].firstarc = NULL。 gadjlist[i]. = gadjlist[i]. = 0。 for( k = 1。 k++) { cout第k項(xiàng):。 p = new ArcNode。 pend = j+65。 ptime = t。 gadjlist[j].++。 gadjlist[i].firstarc = p。 int i, k。 //對(duì)于源點(diǎn),置其ve = 0 for (i = 0。 i ++) //計(jì)算各頂點(diǎn)所表示事件的最早發(fā)生時(shí)間ve { p = gadjlist[i].firstarc。 if (gadjlist[k]. != 0) //如果該事件的ve已經(jīng)有值,則取源點(diǎn)到該事件的所有路徑長度的最大值 { gadjlist[k]. = Max(gadjlist[k]., gadjlist[i]. + ptime)。 } p = pnextarc。 //對(duì)于匯點(diǎn),置其vl = ve for (i = gn 1。 i ) //計(jì)算各頂點(diǎn)所表示事件的最遲發(fā)生時(shí)間vl { p = gadjlist[i].firstarc。 if (gadjlist[i]. != 0) //如果該事件的vl已經(jīng)有值,則取該事件到匯點(diǎn)的最長路徑之差 { gadjlist[i]. = Min(gadjlist[i]., gadjlist[k]. ptime)。 } p = pnextarc。 i gn。 while (p != NULL) { k = pvp。 //某活動(dòng)的最早開始時(shí)間是該活動(dòng)的起點(diǎn)所表示的事件的最早發(fā)生時(shí)間:e = ve pl = gadjlist[k]. ptime。 //某活動(dòng)可以推遲的時(shí)間是其最遲開始時(shí)間與最早開始時(shí)間之差 p = pnextarc。 for (int i = 0。 i ++) coutgadjlist[i].\t gadjlist[i].\t gadjlist[i].endl。 for (i = 0。 i++) { ArcNode *p = gadjlist[i].firstarc。 cout\t\t e\t l\t d \t timeendl。 p = pnextarc。 } } coutnum\t ve:\t vlendl。 i gn。 }int TopSort(ALGraph *g) //用來判斷圖中是否有回路{ int i, j, sum = 0。 //棧st的指針為top ArcNode *p。 i gn。 st[top] = i。 top。 //輸出頂點(diǎn) sum ++。 //找第一個(gè)相鄰頂點(diǎn) while (p != NULL) { j = pvp。 if (gadjlist[j]. == 0) //入度為0的相鄰頂點(diǎn)入棧 { top ++。 } p = pnextarc。 return (sum == gn)。 cout\n關(guān)鍵活動(dòng)有:endl。 i gn。 while (p != NULL) { if (pd == 0) //如果p指向的活動(dòng)是關(guān)鍵活動(dòng),就將此活動(dòng)輸出 { cout (pstart—pend) 。 } } coutendl。 //t[MAVX]數(shù)組用來存放代表關(guān)鍵活動(dòng)的邊的信息 int j = 0。 //記錄關(guān)鍵路徑的條數(shù) cout\n關(guān)鍵路徑有:endl。 i gn。 while (p != NULL) { if (pd == 0) { t[j].start = pstart。 j++。 } p = pnextarc。 //sign用來標(biāo)記關(guān)鍵路徑在哪個(gè)位置有分叉 int flag。 //用于一條關(guān)鍵路徑計(jì)算完以后從新計(jì)算下一條關(guān)鍵路徑的入口 char num。 k = 0。 sign = k。 flag = 1。 } } k++。 t[k1].end = t[k].end。 } } }}void Interface() //所有操作的入口,主函數(shù)通過調(diào)用此函數(shù)來完成相關(guān)操作{ char choose1, choose2, ch。 do { cout|歡迎使用!|endl。 cout| 開始 S 退出 Q |endl。 cout||endl。 cinchoose1。S39。s39。 do { flag1 = 1。 if (!TopSort(G)) { cout圖中有回路!請檢查后重新輸入!endl。 } } while (!flag1)。 cout是否顯示事件及活動(dòng)相關(guān)信息? Yes — Y No — any key endl。 if (ch == 39。 || ch == 39。 ) OutputGraph(G)。 KeyActs(G)。 cout\n\n\n 是否繼續(xù)? 繼續(xù)使用 — Y 退出系統(tǒng) — any key endl。 if (choose2 == 39。 || choose2 == 39。) flag2 = 1。 flag2 = 0。 } else if (choose1 == 39。 || choose1 == 39。) { cout\n 謝謝使用!歡迎再次使用! endl。 } else { cout\n操作有誤! 請重新選擇:\nendl。}int main(){ Interface()。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1