日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

數據結構課程設計實戰(zhàn):基于Dijkstra的最短路徑系統(tǒng)與答辯全攻略

數據結構課程設計實戰(zhàn):基于Dijkstra的最短路徑系統(tǒng)與答辯全攻略 簡介杭電數據結構課程設計已通過驗收的完整實踐資料包含停車場管理問題和校園導航咨詢系統(tǒng)兩個項目。資源面向正在完成數據結構課程設計的高校學生尤其適合需要參考完整實現與實驗報告格式的讀者兩個項目分別涉及棧、隊列、鏈表、圖等核心結構并應用最短路徑等算法體現理論與實踐結合。壓縮包共十一個文件大小約九百三十千字節(jié)涵蓋源碼文件、頭文件、實驗報告、地圖數據、矩陣表格、示意圖以及可執(zhí)行程序覆蓋代碼、文檔、數據與演示的完整鏈路。目前已有四百六十人學習讀者可獲得可運行的停車場管理模擬程序與校園導航系統(tǒng)、完整的課程設計報告以及各模塊的代碼組織與算法實現思路便于對照驗收標準優(yōu)化自己的作品。1. 這不是算法題是“帶著代碼去答辯”HDU 的數據結構課程設計跟平時刷杭電 OJ 那道坎完全是兩碼事。OJ 題錯了就錯了改到 AC 為止沒人問你為什么這么寫課程設計要過驗收你得拿著一個能跑的 .exe當著老師的面演示功能然后回答“為什么用鄰接表不用鄰接矩陣”“這個排序在最壞情況下是什么復雜度”“輸入一萬條數據會不會崩”。很多同學代碼寫完了一進驗收教室被問三句話就卡殼最后得了個合格但心里沒底。這篇筆記就是按“能跑、能講、能過驗收”的標準來講的方向是數據結構與算法落地里最常見的那套圖的遍歷與最短路徑、二叉樹操作、排序與查找以及一套完整的交互界面。標題里的“通過驗收”才是真正的主菜。代碼只是入場券驗收看的是你的選題夠不夠粒度、需求分析有沒有邊界、測試數據能不能自圓其說、答辯時原理講不講得清。下面我會把我做這個課設的完整思路拆給你怎么選題目、怎么定數據結構、代碼怎么從主函數往下長出來、以及驗收前那個晚上到底該檢查什么。新手能照著一路做到提交熟手可以直接跳到第 5 章看踩坑清單和答辯問法。2. 選題與需求分析決定你后面兩個星期過得好不好2.1 常見選題的分類與能力匹配杭電數據結構課設的題目池每年都在換但翻來覆去就是那幾類。我按“數據結構的核心程度”幫你分個類你看自己適合哪類。第一類是“圖的算法型”比如校園導航、城市交通查詢、迷宮求解。核心是圖的存儲與遍歷Dijkstra 或者 Floyd 必考其一。這類題目數據結構感最強答辯時能講的東西多但代碼量也最大。第二類是“線性結構應用型”比如學生信息管理、圖書借閱管理、員工工資查詢。核心是結構體數組或鏈表配合多關鍵字排序和查找。這類題目好寫但要過得漂亮得在“查找算法對比”和“數據量增大時的性能變化”上做文章不能只會個冒泡排序。第三類是“樹型應用”比如哈夫曼編碼/譯碼、表達式求值、二叉排序樹。哈夫曼是經典中的經典因為編碼過程能可視化出哈夫曼樹答辯時有圖可看表達式求值則是棧和二叉樹兩個知識點一起考了。我不建議選那種“系統(tǒng)管理”味太重的題比如“超市收銀系統(tǒng)”“圖書館管理系統(tǒng)”。這些題目聽著實用但其實數據結構濃度不夠——你說你是用順序表還是鏈表老師一問“那順序表和鏈表各自的適用場景是什么”你只能說“都可以”這就很被動。我當時的選題是一個“基于圖的最短路徑查詢系統(tǒng)”圖的頂點是校園建筑邊是路徑距離。為什么選它因為圖這個數據結構在課設里表現力最強鄰接矩陣存起來直觀Dijkstra 講起來有條理還能順手做一個 DFS 遍歷把“可達性查詢”也囊括進來一個題目覆蓋多個考點驗收時老師可問的點多你展示的空間也大。2.2 拿到題目的第一個小時把需求寫成一頁紙別急著開 IDE。你拿到題目后最該做的是把“人話需求”翻譯成“數據結構語言”。我給你一個模板照著填就行。系統(tǒng)名稱校園建筑最短路徑查詢系統(tǒng)輸入源建筑編號、目的建筑編號輸出最短路徑長度、途經建筑序列額外功能顯示所有建筑列表、查詢某建筑可直達哪些建筑邊界情況源和目的相同、圖不連通、非法編號輸入這一頁紙就是你的需求說明書初稿。后面寫中期報告、課程設計報告的時候直接把這份內容擴寫就行不用再絞盡腦汁想“我做了什么”。然后做一件事畫出數據的組織方式。用表格列出來建筑信息放哪、邊信息放哪、路徑輸出時用到的輔助數組放哪。這一步能幫你發(fā)現很多問題——比如你想用 Floyd 而不是 Dijkstra那就要多一個二維路徑矩陣如果想支持按距離排序輸出全部路線那就要考慮怎么在多條路徑里做比較。這些都是后面代碼里繞不開的決策現在想清楚比寫完了再推倒重來省力得多。2.3 驗收視角的需求補充老師想在你的演示里看到什么前面那頁紙是“功能需求”但課設驗收還有一層“展示需求”。老師一天要看幾十個組不會仔細讀你的代碼他主要通過幾分鐘的演示來判斷你這個課設“做沒做到位”。所以你的需求分析里至少要包含三個能“看得見”的點。第一初始化過程可視化——啟動程序時打印出讀入了多少個頂點、多少條邊讓老師確定你的數據是加載進來的不是寫死在代碼里的。第二一個足夠復雜的測試用例——選一條明顯不是最短的路徑讓程序算出來后老師能肉眼驗證結果是對的。第三異常輸入的優(yōu)雅處理——故意輸一個不存在的編號程序不能崩潰不能死循環(huán)要輸出一句人能看懂的提示。這三條就是驗收現場的高光時刻。很多同學代碼沒問題敗就敗在演示時輸入了“5”結果編號只有 0 到 3程序直接數組越界崩了老師眉頭一皺后面答辯你心里就慌了。這些都是你在需求分析階段就該寫進“邊界情況”里的東西。3. 核心數據結構與算法選型把“要用什么”焊死在設計文檔里3.1 鄰接矩陣還是鄰接表別只看教材怎么說圖的最短路查詢系統(tǒng)第一個決策就是圖的存儲結構。教材上會告訴你稀疏圖用鄰接表稠密圖用鄰接矩陣。這個結論沒錯但課設場景下你要多想一層。課設的數據量就那么大你錄入 20 個建筑、40 條路鄰接矩陣也就是一個 20×20 的二維數組400 個 int占 1600 字節(jié)。這個量級談性能優(yōu)化沒有意義。此時你應該優(yōu)先考慮“哪個寫起來不容易錯、答辯時更好講”。我用的鄰接矩陣。原因有三個第一Dijkstra 算法用鄰接矩陣寫代碼形態(tài)跟教材偽代碼一一對應你背得住也講得清第二答辯時老師讓你“把圖結構畫出來”鄰接矩陣直接在紙上畫個方格子填 0 和 ∞ 就行特別直觀第三檢查圖的連通性、查一條邊是否存在矩陣是 O(1) 的你演示“查詢兩棟建筑是否直接相連”這個功能時代碼不用繞彎子。鄰接表當然也可以。如果你選的題目是“微博關注關系分析”那必須用鄰接表——因為十萬個頂點、百萬條邊用矩陣就是災難。選哪個不是看哪個高級而是看數據長什么樣。我一般建議頂點數預期超過 100 或者邊特別稀疏不到完全圖的 10%考慮鄰接表否則就鄰接矩陣省心。3.2 Dijkstra 的課設版本記錄路徑而不只是距離教材上的 Dijkstra 通常只求最短路徑長度用一個 dist[] 數組搞定。但課設演示需要輸出完整路徑所以你還得維護一個 prev[] 數組記錄每個頂點的前驅頂點。這是課設版 Dijkstra 和算法題版 Dijkstra 最大的區(qū)別。#define MAXVEX 20 #define INF 65535 typedef struct { char name[20]; // 建筑名稱 int id; // 建筑編號 } Vertex; typedef struct { int edges[MAXVEX][MAXVEX]; // 鄰接矩陣INF 表示不連通 int numVertexes, numEdges; // 實際頂點數和邊數 Vertex vexs[MAXVEX]; // 頂點數組 } MGraph; // Dijkstra 算法求 start 到所有點的最短路徑 // dist: 輸出最短路徑長度 // prev: 輸出前驅頂點數組用于回溯路徑 void Dijkstra(MGraph *G, int start, int dist[], int prev[]) { int final[MAXVEX] {0}; // final[i]1 表示頂點 i 已確定最短路徑 int i, j, k, min; for (i 0; i G-numVertexes; i) { dist[i] G-edges[start][i]; prev[i] (dist[i] INF) ? start : -1; } final[start] 1; dist[start] 0; for (i 1; i G-numVertexes; i) { min INF; k -1; for (j 0; j G-numVertexes; j) { if (!final[j] dist[j] min) { min dist[j]; k j; } } if (k -1) break; // 剩余頂點不可達提前結束 final[k] 1; for (j 0; j G-numVertexes; j) { if (!final[j] min G-edges[k][j] dist[j]) { dist[j] min G-edges[k][j]; prev[j] k; } } } }這段代碼里最關鍵的設計是prev數組的初始化prev[i] (dist[i] INF) ? start : -1。這里把“直接與起點相連”和“不與起點相連”兩種情況區(qū)分開不然后面回溯路徑時會把不相連的頂點錯誤地串進來。k -1那個 break 也是實際測試逼出來的——如果圖本身不連通沒有這個判斷內層循環(huán)會把k留在 -1下一輪final[-1]就是數組越界。你寫代碼時一定要加上這種防御性判斷尤其是課設這種“演示時輸入不可控”的場景。回溯路徑的代碼也要單獨寫一個函數不要在 Dijkstra 里順手打印否則你的 Dijkstra 就不純凈了——它既要算距離又要做 IO答辯時不好講清楚。void PrintPath(int start, int end, int prev[]) { // 用棧逆序輸出前驅鏈避免遞歸深度不確定 int stack[MAXVEX], top 0; int cur end; while (cur ! -1) { stack[top] cur; if (cur start) break; cur prev[cur]; } // 此時棧頂是 start依次出棧即為路徑 while (top 0) { printf(%s, vexs[stack[--top]].name); if (top 0) printf( - ); } printf(\n); }為什么用棧不用遞歸因為課設程序的路徑長度最長可能等于頂點數遞歸層數雖然不多但老師可能會問“如果有一千個頂點這個遞歸會不會爆?!薄D阌脳懸环矫嬲故玖恕坝脭祿Y構解決問題”的意識另一方面徹底規(guī)避了遞歸深度的爭議。答辯時這句話可以直接說我用棧來逆序前驅鏈是為了不依賴遞歸避免最壞情況下頂點數較大時的棧溢出風險。3.3 排序與查找第二考點不能瘸腿只做最短路課設撐不起來。老師會問你這個系統(tǒng)里還有沒有別的數據結構知識點所以你得主動在系統(tǒng)里塞一個“排序”功能。我當時的做法是支持按建筑名稱的字典序輸出全部建筑列表以及按距離排序輸出“從一個建筑出發(fā)的所有可達路徑”。// 按距離從小到大排序所有從 start 出發(fā)的邊 // 用結構體數組 qsort避免手寫冒泡的尷尬 typedef struct { int adjvex; // 鄰接頂點編號 int weight; // 邊權距離 } EdgeInfo; int cmpEdge(const void *a, const void *b) { return ((EdgeInfo*)a)-weight - ((EdgeInfo*)b)-weight; } void SortEdgesByWeight(MGraph *G, int start) { EdgeInfo edges[MAXVEX]; int n 0; for (int i 0; i G-numVertexes; i) { if (G-edges[start][i] ! INF) { edges[n].adjvex i; edges[n].weight G-edges[start][i]; n; } } qsort(edges, n, sizeof(EdgeInfo), cmpEdge); printf(從 %s 出發(fā)的路徑按距離排序\n, G-vexs[start].name); for (int i 0; i n; i) { printf( %s (%d 米)\n, G-vexs[edges[i].adjvex].name, edges[i].weight); } }這里刻意用了qsort而不是自己寫快排是留了答辯余地的如果老師問你“你自己實現過排序嗎”你就說“課設里我用了 C 標準庫的 qsort 來處理數據排序因為它的比較器接口清晰、性能穩(wěn)定我在平時練習時也手寫過快速排序和歸并排序能講清楚分治思路。” 這比你在課設里貼一個自己寫的、邊界都處理不對的快排要安全得多。課設不是算法競賽不要在核心業(yè)務里冒險。查找方面因為頂點數量少順序查找就夠。但答辯可能會問“為什么不用二分查找”你得能答上來順序查找適用于無序列表而建筑名稱列表如果允許增刪就不保持有序性所以二分查找不適用如果想要 O(log n) 查找可以在初始化時維護一個按名稱排序的索引數組。你看這個問題你一答老師就知道你是真懂查找的適用條件而不是背了個二分模板。4. 從主函數長出來的完整代碼可復現的骨架與七個必經步驟4.1 先寫 main 的骨架菜單循環(huán)是課設的臉面課程設計不是寫一個被調用的庫函數而是一個能交互的程序。你的 main 要是一個循環(huán)打印菜單、接收輸入、分發(fā)任務的結構。這一步別寫在最后第一步就寫。int main() { MGraph G; int choice; int start, end; InitGraph(G); // 從文件讀入數據初始化圖 PrintWelcome(); // 打印系統(tǒng)名稱和作者信息 while (1) { PrintMenu(); // 打印功能菜單 scanf(%d, choice); while (getchar() ! \n); // 清空輸入緩沖防止殘留換行 switch (choice) { case 1: ListAllBuildings(G); break; case 2: QueryShortestPath(G); break; case 3: SortEdgesByWeight(G); break; case 4: DFS_Traverse(G); break; case 0: printf(感謝使用再見\n); return 0; default: printf(輸入錯誤請重新選擇\n); break; } } return 0; }這段骨架里有幾個細節(jié)是血淚經驗。第一while (getchar() ! \n)這一行必須有不然你輸入完數字按回車殘留的換行會被下一個 %c 或 %s 吃掉然后你的菜單就亂跳了。第二case 0和default必須分開0 是正常退出其他數字是錯誤輸入這兩件事不能用同一個分支否則老師會覺得你程序的控制流不清晰。第三每個 case 末尾都要有 break這不用我說你也知道但漏 break 恰恰是課設代碼里最常見的問題因為 CtrlC 復制上一段的時候很容易連著 break 一起刪掉。菜單函數本身要打印清楚每個數字對應什么功能別用“1.xxx 2.xxx”這種緊湊格式要把邊界情況也寫上去比如“0. 退出”讓使用者不困惑。4.2 數據的正確打開方式文件讀取而不是交互錄入用 scanf 一個頂點一個頂點地錄入圖數據是一種自虐行為——演示時你光輸入數據就要兩三分鐘老師早就失去耐心了。正確做法是把數據放在文本文件里程序啟動時一次性讀取進來。#define MAX_NAME 20 void InitGraph(MGraph *G) { FILE *fp fopen(graph_data.txt, r); if (fp NULL) { printf(錯誤找不到 graph_data.txt 文件\n); printf(請確認數據文件與程序在同一目錄下。\n); exit(1); } fscanf(fp, %d %d, G-numVertexes, G-numEdges); for (int i 0; i G-numVertexes; i) { fscanf(fp, %d %s, G-vexs[i].id, G-vexs[i].name); } // 初始化鄰接矩陣 for (int i 0; i G-numVertexes; i) { for (int j 0; j G-numVertexes; j) { if (i j) G-edges[i][j] 0; else G-edges[i][j] INF; } } // 讀取邊 int v1, v2, weight; for (int i 0; i G-numEdges; i) { fscanf(fp, %d %d %d, v1, v2, weight); G-edges[v1][v2] weight; G-edges[v2][v1] weight; // 無向圖 } fclose(fp); printf(初始化成功共 %d 個建筑%d 條道路。\n, G-numVertexes, G-numEdges); }數據文件 graph_data.txt 的格式是有講究的按行讀的別用逗號分隔fscanf 的空格分隔最不容易出錯6 6 0 圖書館 1 第一教學樓 2 第二教學樓 3 學生食堂 4 體育館 5 宿舍區(qū) 0 1 200 0 2 350 1 3 180 2 3 250 3 4 300 4 5 150這里有個坑頂點的 id 必須和數組下標完全一致。如果你從 1 開始編號那數組就要多開一位或者讀入時id--。我的建議是數據文件里就從 0 開始編號和數組下標天然對齊省去所有轉換邏輯。這看起來不優(yōu)雅但課設不需要優(yōu)雅需要的是少一個出錯的可能。4.3 手動模擬一遍 Dijkstra把 prev 數組畫出來給你看代碼可以打印算法流程光看代碼是不容易“懂”的。我建議你寫完 Dijkstra 函數后拿上面這個 6 頂點的小圖手動跑一遍把 dist 和 prev 的變化寫在一張表上。以頂點 0圖書館為起點初始時dist [0, 200, 350, INF, INF, INF]prev [0, 0, 0, -1, -1, -1]。第一輪找到未確定點中 dist 最小的是頂點 1dist200。確定它。然后更新與 1 相鄰的點頂點 3 的 dist 從 INF 變成 200180380prev[3]1。第二輪未確定點中 dist 最小的是頂點 2dist350。確定它。更新頂點 3380 與 350250600 比較380 更小所以 prev[3] 保持 1dist[3] 不動。第三輪頂點 3dist380確定。更新頂點 4dist680prev[4]3。第四輪頂點 4dist680確定。更新頂點 5dist830prev[5]4。第五輪頂點 5 確定結束。如果你要查從圖書館到宿舍區(qū)的路徑從 prev[5]4prev[4]3prev[3]1prev[1]0反推得到路徑0 - 1 - 3 - 4 - 5也就是圖書館 - 第一教學樓 - 學生食堂 - 體育館 - 宿舍區(qū)總長度 200180300150 830 米。把這張表放在你的課程設計報告里比貼代碼有用得多。老師看報告時看到你能把算法的運行過程畫出來就證明你真的會 Dijkstra而不是從網上找了一段代碼改改名。4.4 菜單功能與代碼文件的劃分沒有第三人稱的項目結構課設代碼不建議寫完丟在一個 main.c 里也不建議拆成一百個文件。推薦結構是graph.h 放結構體定義和函數聲明graph.c 放圖的初始化、Dijkstra、排序等核心實現main.c 放交互邏輯。// graph.h #ifndef GRAPH_H #define GRAPH_H #define MAXVEX 20 #define INF 65535 typedef struct { char name[20]; int id; } Vertex; typedef struct { int edges[MAXVEX][MAXVEX]; int numVertexes, numEdges; Vertex vexs[MAXVEX]; } MGraph; void InitGraph(MGraph *G); void Dijkstra(MGraph *G, int start, int dist[], int prev[]); void PrintPath(int start, int end, int prev[]); void ListAllBuildings(MGraph *G); void QueryShortestPath(MGraph *G); void SortEdgesByWeight(MGraph *G); void DFS_Traverse(MGraph *G); #endif頭文件里必須寫#ifndef防重復包含。這個習慣在課設里體現不出來因為你的代碼就三四個文件但老師看代碼時會注意到。你可以在答辯時說我用條件編譯宏防止頭文件被重復包含這是大型項目里必須養(yǎng)成的習慣。這句話雖然簡單但能瞬間把你和那些所有代碼懟在一個文件里的同學區(qū)分開。queryShortestPath 是連接 Dijkstra 和交互界面的樞紐邏輯是輸入兩個編號 - 檢查合法性 - 調 Dijkstra - 輸出路徑。這里檢查合法性必須在調用算法之前做不能等 Dijkstra 算完再檢查因為 Dijkstra 遇到非法編號就是數組越界。void QueryShortestPath(MGraph *G) { int start, end; int dist[MAXVEX], prev[MAXVEX]; printf(請輸入起點建筑編號); scanf(%d, start); printf(請輸入終點建筑編號); scanf(%d, end); if (start 0 || start G-numVertexes || end 0 || end G-numVertexes) { printf(編號超出范圍請重新輸入\n); return; } if (start end) { printf(起點和終點相同距離為 0。\n); return; } Dijkstra(G, start, dist, prev); if (dist[end] INF) { printf(兩棟建筑之間不存在可達路徑。\n); } else { printf(最短路徑長度%d 米\n, dist[end]); printf(路徑); PrintPath(start, end, prev); } }注意里面兩個特殊分支起點等于終點的處理以及路徑不存在時的處理。這兩個分支對應的就是需求分析時寫的“邊界情況”。你不寫這兩個分支程序一般也不會崩但輸出會非常難看——起點終點相同時路徑打印可能輸出一個空串或一個孤立節(jié)點老師會問“你這算對嗎”。你提前處理好了演示時就可以主動輸入這兩個邊界情況展示程序的健壯性這是加分的。4.5 初始化后的第一輪自測功能全綠再往下走代碼寫到能編譯通過別急著去找驗收老師先自己當一遍“驗收老師”。按照下面的清單過一遍每一條都要真的跑一遍看輸出正常路徑查詢選一條明顯繞遠的路看程序算出來的最短路徑是不是你的手算結果。起點終點相同輸出“距離為 0”沒有多余路徑輸出。不存在的編號輸入 -1 或 99程序輸出提示語不崩潰。不連通節(jié)點對如果數據文件里有孤立的建筑查詢它和其他建筑時輸出“不存在可達路徑”。菜單輸入錯誤輸入 8 或者 abc程序回到菜單而不是陷入死循環(huán)。圖數據文件缺失刪掉 graph_data.txt 后運行程序看程序是否給了明確提示。第 5 條有個隱藏坑如果輸入的是字母而不是數字scanf 會返回 0但變量里保留的是舊值或者未初始化的值程序可能進入死循環(huán)。簡單的處理方式是檢查 scanf 的返回值如果等于 0 就清空輸入緩沖并提示重新輸入if (scanf(%d, choice) ! 1) { printf(請輸入數字\n); while (getchar() ! \n); // 把錯誤輸入全部清掉 continue; }這一步檢查在課設里尤其重要。演示時你緊張了、手誤了輸入了一個字母程序直接卡死你對著黑窗口不知所措——這種場景每年驗收都在上演你提前把防護做好就不至于翻車。5. 避坑清單驗收前最容易翻車的 5 個位置5.1 編譯環(huán)境差異Windows 下能跑換臺機器就崩現象在自己電腦上編譯運行一切正常拿到實驗室或答辯機器上編譯報一堆錯誤或者運行時閃退。原因課設最常見的環(huán)境是 Dev-C但它的 MinGW 編譯器版本可能比你在 VS Code 里用的 GCC 舊對 C 標準支持不到位。比如你在代碼里用了for (int i 0; ...)在 C89 標準下就不允許在 for 循環(huán)里聲明變量。還有//注釋之外如果你混用了 C 和 C 代碼比如用new或// 單行注釋嚴格模式下編譯直接卡死。解決寫代碼時統(tǒng)一用 C 語言語法變量聲明一律放在語句塊開頭換行注釋沒問題但不要用 C 的特性。另外提交前最后用 Dev-C 打開項目重新編譯一次確認沒有警告。警告里經常藏著大坑比如“隱式聲明函數”——那就是說你調了一個函數但沒包含它的頭文件你自己的編譯器可能因為自動鏈接或舊 libc 而放過但答辯機器上就會鏈接失敗。5.2 scanf 輸入殘留菜單第二次輸入直接跳過現象輸入菜單選項后按回車程序不會等待輸入下一次選項直接“吃掉”了殘留的換行符菜單飛速跳轉。原因scanf(%d)只讀取數字把輸入緩沖區(qū)里的換行符留下。下一次循環(huán)里如果碰到scanf(%c)或gets()會立即讀到這個換行符導致輸入跳過。解決判斷輸入是數字還是字符后用while (getchar() ! \n)清空緩沖或者在每個輸入語句后統(tǒng)一加一行fflush(stdin)。但注意——fflush(stdin) 在 C 標準里是未定義行為在 Windows 下的 Dev-C 里能用在 Linux 的 GCC 下沒用。所以我建議用 getchar 清緩沖的寫法兼容性更好也體現你知道輸入緩沖區(qū)的運作方式答辯時可以主動講這個細節(jié)。5.3 無窮大 INF 參與運算Dijkstra 松弛時整數溢出現象圖里有不連通的頂點程序輸出的最短路徑長度是一個莫名其妙的負數或者路徑序列里出現連續(xù)的 -1。原因INF 用 65535 定義時如果一行里兩個 INF 相加——比如min G-edges[k][j]兩個都是 INF——結果超過 int 上限的溢出是小事更常見的是 65535 65535 131070沒有溢出但 result 是 131070然后你把 131070 和另一個 INF65535 比較131070 不小于 INF所以不更新——這沒錯。但如果前面 min 被算成了 32767 之類的更大值或者 INF 定義成0x7fffffff那兩個 INF 相加就直接變成負數負數是小于正數 INF 的于是松弛條件永遠成立dist 被反復更新成負數輸出徹底亂了。解決在松弛操作前加判斷兩個值都必須小于 INF 才做加法比較if (!final[j] min G-edges[k][j] min) // 這行有問題正確寫法是if (!final[j] G-edges[k][j] ! INF min G-edges[k][j] dist[j]) { dist[j] min G-edges[k][j]; prev[j] k; }先把 INF 的邊排除掉再做加法。這是一個典型的防御性編程問題代碼里處理不好一旦圖里有一個不連通點你的 Dijkstra 輸出就全錯這種 bug 往往到驗收前才被發(fā)現改起來牽一發(fā)動全身血淚教訓。5.4 DFS 遞歸深度圖的頂點多了一層就可能崩現象在圖的遍歷功能里用遞歸實現 DFS圖有 15 個頂點時正常你為了演示加到 20 個頂點程序在遍歷到深處時突然崩潰退出。原因遞歸函數DFS(int v)每次調用都在棧上分配新的棧幀圖的深度太大時堆棧溢出。課設的頂點數一般不會上萬但運行時棧大小只有 1MB 左右如果遞歸層數上百層就可能爆棧。解決把 DFS 改成顯式棧實現。用一個輔助數組標記訪問狀態(tài)配一個棧來模擬系統(tǒng)調用棧。void DFS_Traverse(MGraph *G) { int visited[MAXVEX] {0}; int stack[MAXVEX], top 0; int v, i; printf(DFS 遍歷結果); for (v 0; v G-numVertexes; v) { if (!visited[v]) { visited[v] 1; printf( %s, G-vexs[v].name); stack[top] v; while (top 0) { int cur stack[--top]; for (i 0; i G-numVertexes; i) { if (G-edges[cur][i] ! INF !visited[i]) { visited[i] 1; printf( %s, G-vexs[i].name); stack[top] i; } } } } } printf(\n); }這里我用的是“右入棧、先訪問標記再入?!钡膶懛ū苊饬酥貜痛蛴栴}。實際上這段代碼的遍歷輸出順序和遞歸版 DFS 會略有差異但課設里沒有任何人關心輸出順序是和遞歸版一模一樣還是略有偏差只要“每個頂點都被訪問且輸出正確”就沒問題。這趟換棧的收益是即使頂點數幾百個也絕對不崩你答辯時可以說“這里為了避免遞歸棧溢出我用了顯式棧實現 DFS”這一句話就把整段代碼的分量抬起來了。5.5 報告里的運行截圖截圖不清晰是最虧的丟分點現象課程設計報告里貼了運行截圖但截圖分辨率過低或者窗口被拉伸老師看不清輸出的文字內容只能看到模糊的色塊。原因屏幕縮放比例太高或者截圖時只截了窗口的一小塊報告排版時又把圖片拉大了字就變成了“馬賽克”。解決截圖時用 WinShiftS 選擇窗口區(qū)域不要把整個屏幕截進來截圖后用畫圖工具把圖片裁剪到只留窗口黑色區(qū)域保證截圖里字體大小用默認的 16 號以上不要為了多放內容把窗口縮得很小。另外每張截圖下方要有一行說明文字“圖 3-1 最短路徑查詢結果”這對應報告里的“運行結果與分析”章節(jié)。文字說明里要寫清楚輸入了什么數據、看到了什么輸出、結果是否符合預期。這一條不是代碼問題但很多代碼寫得好的人在這里翻車報告分上不去很可惜。6. 答辯與驗收從“代碼能跑”到“老師點頭”的最后一公里到了驗收環(huán)節(jié)代碼已經沒得改了。這時候拼的是兩樣東西你怎么講以及你怎么應對提問。我這里說三個我最常用的答辯技巧都是實戰(zhàn)里驗證過有用的。第一個是“演示腳本”。不要到了現場憑感覺操作提前寫好一個三分鐘的演示流程啟動程序順手點開數據文件說明“這是圖的數據文件共 6 個頂點 6 條邊”然后查詢從“圖書館”到“學生食堂”的最短路徑故意先說一句“如果走第二教學樓會更近但實際最短路徑是先到第一教學樓”——這句話的作用是讓老師知道你理解“最短”的含義你不是只會跑程序。然后展示按距離排序和 DFS 遍歷最后演示輸入非法編號程序提示錯誤并返回菜單。三分鐘結束每個功能都被驗證過而且不會冷場。第二個是“高頻問題預案”。按我的經驗老師最愛問的問題固定就那么幾個你提前把答案準備好背熟現場就不卡殼。問Dijkstra 算法為什么不能處理負權邊答因為 Dijkstra 基于貪心每次確定一個距離最小的頂點就不再更新。如果存在負權邊某個頂點可能在確定之后通過負權邊被更短地發(fā)現但算法已經不會回頭更新它了。所以負權圖得用 SPFA 或 Bellman-Ford。問你的圖是無向的如果改成有向圖代碼哪里要改答讀取邊時只賦一個方向的權值G-edges[v1][v2] weight去掉回賦的那一行。另外 DFS 遍歷時也要按有向邊來訪問鄰接點。問為什么鄰接矩陣的 INF 用 65535 而不是 32767答65535 是 2 的 16 次方減 1在 int 范圍內而且足夠大任何兩個 INF 相加也不會溢出 int6553565535131070遠小于 2^31確保松弛比較時不被意外“污染”。這三個問題你答得順老師對你的印象分就會往上走。最怕的是背了答案但沒理解老師追問一層就露餡。所以預案里的答案一定要自己先弄懂別硬背。第三個是“報告與演示的一致性”。你課程設計報告里寫的是什么數據結構、什么算法流程演示時就必須是什么。有些同學報告里寫“本系統(tǒng)采用鄰接表存儲圖結構”但代碼里用的是鄰接矩陣——這種情況老師一旦發(fā)現印象分直接清零。報告和代碼必須對口。我一般建議在報告里專門畫一張“系統(tǒng)功能框圖”——但這個不用畫得很復雜用方框和箭頭把功能模塊和數據結構之間的關系標示出來即可。最后一個技巧是關于“求幫助”的。如果現場真的遇到突發(fā)狀況程序起不來——這不是你的錯但別愣著。你可說“我先把數據文件路徑檢查一下”然后打開當前目錄確認文件在不在。如果還是不行就誠懇一點“正常情況下這個功能是好的可能是當前環(huán)境的字符編碼問題導致文件沒有正確讀取?!?說實話這個責任其實不在你——你答辯前沒在答辯機器上跑過一遍誰知道這機器少了什么運行庫。所以我的習慣是答辯前一天借一臺跟答辯環(huán)境最接近的電腦裝上相同的編譯器完整跑一遍演示流程。這個動作能排掉 80% 的“機器差異”導致的尷尬。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天美麻花大全视频| 久久夜精品一区二区三区| 国产综合久久久鬼色| BBBBB97COM| 手机看片1024你懂的国产| 97硬碰| 亚洲天天更新| 久热9| 精品999日本| 夜夜爽夜夜| 五月天激情网站| 老司机福利社视频在线观看| 激情干在线| 风月影院男女十八禁| 久久受www免费人成| 日韩中文字幕熟妇人妻| 九九干| 久久精品老司| 黄在线| 精品无码久久久久| 偷拍伦理视频| 思思热免费在线视频| 亚州色图欧美| 99久久久久| 久久香蕉国产线看观看亚洲女人 | 色色九区| 中文字幕国产精品1区| 日韩97在线| 青青草操逼逼视频| 国产精品人妻无码久久久老鸭窝 | 夜夜影视四色| 91操熟女视频| 黑操B| 免费看片黄| 精品网站99999| 怡红院一区二区熟女人妻| 国产中文字幕在线| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 色97欧美| AV天堂电影网| 岛国黄| 后入合集| 超碰激情808| 午夜寂寞欧美| 国产9区| 久日91在线| www.av在线观看| 97爱综合| 久久噜噜噜精品国产亚洲综合| 激情五月综合网| 亚洲成人贴图| 五月天精品| 美女诱惑爱爱| 亚洲码专区| 欧美亚洲激情| 精人妻无码一区二区三区伊人直播 | 欧美日韩资源| 国产97在线播放| 一区二区三区四区色图| 无码高清专| 91综合网站| 97视频900| 97自拍视频在线| 亚洲无无码αⅴ每日更新| 一本大道久| 午夜呻吟欧美| 热九九精品| 东北丰满熟女国产一区| 尤物网站91| 懂色影视久久| 久婷婷一区| 97在线精品| 涩综合导航| 99超碰网| 99精品丰满人妻无码| 精品无码一区二区| 狠狠干狠狠色| av一区二区三区 中文| 亚洲AV成人无码一二三久久| 火箭成精品视频884必出精品| 啊啊啊啊好大好硬啊啊啊啊啊 | 亚洲人精品久久久喷水| 日韩中文字幕二区| 郑州宾馆老熟女露脸啪啪| 亚州性色| 亚洲精品欧洲色| 日本新免费二区三区| 久久久久骚| 亚洲成人性爱在线观看| 性色生活片久久毛片婬片免费放女人一级毛片 | 欧美成人色| 人人喜人人妻| 国产欧美伊人| 爽爽淫人网| 精品在线观看视频在线| 丰满人妻一区二区三区四区| 国产婷婷综合在线观看| 超碰欧美97资源| 久久久久性熟视频| www.欧精品| 激情五月天网| 日韩有码一区三区| 日韩三级一区| 中文字幕版| 久久啊哟| 夜夜操天天肏| 青青草大香蕉在线视频| 69人妻精品丰满熟女区| 欧美伦乱爱| 少妇99| 欧美天堂亚洲电影院一区在线播放 | 国产精品一区二区校花| 久久美女国产| 亚洲成人美女无吗| 亚州精人品大香蕉| 黄色香蕉视频网站一区| 国产三级中文字幕粉嫩 | 爱爱久久| 丰满熟女人妻一区二区三五十一路| 五月天色电影| 99热在线不卡| 日本久久999| 日韩精品怡红院| 国产精彩女在线观看视频| 色综合超碰超| 欧美综合综合| 91少妇人妻| 欧美91精品国产自产| 国产成人欧美精品在线| 少妇3P性爱自拍| 青椒国产97在线熟女| 激情专区综合| 午夜情侣自拍网站| 亚洲区 欧美区| 国产一国产一级毛片古装| 亚洲av青草久久一区二区| 久久六六| 国内毛片婷婷六月色| 久久精品国产亚洲AV成人直播| 精品少妇一区二区三区在线视频| av中文字幕在线熟女| 丝袜综合| 亚洲Av诱惑| 高清有码一区二区| 欧美色偷拍 | 久久久久久性爱片| 蜜桃臀一区二区aV| 日韩有码 一区二区三区| 美女操逼福利视频| 成年男人的天堂| 亚欧美综合网。| 亚洲天天天| 欧美精品三级黄片| 久久98| 欧美中文字幕一区 | 懂色AV中文| 欧美日韩国产人人| 国产亚洲色停停久久99精品91| 亚洲 自拍偷拍 欧美| 丁香五月激情综合| 国产精品乱码久久久久久久| 2023天天操夜夜操| 看日韩黄片| 黄色一级视| 久久久9品一区二区三区| 国产乱子伦一区二区三区免看| 777超碰| 粉嫩av久久一区二区三区| 超碰人人干| 国产五码丝袜屁眼| 色妇综合网| 3P乱轮视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日少妇视频| 亚洲 日韩 丝袜 熟女 变态| 天天舔天天日天天射| 婷婷综合伊人一区| 五月婷在线| 色综合20p| 国产精品嫩草影院午夜两性| 中文字幕在线观看AV| 噜噜噜噜天天狠狠| 日本一级黄色电影| 国语精品av| 精品国产久热在线观看| 天天大干大香蕉| 美女极品一区二区三区| 综合网久久| 久久性爱视频免费看| 啊啊啊好爽快点啊啊啊嗯嗯| 人妻天天爽| 国产精品日韩在线一区| 欧美亚洲美少妇一区二区| 久久久久97| 99re这里只有精品中心播放 | 伊人国产视频| 五十路六十路素人熟女| 日韩9999| 秋霞久久亚洲精品成人| 狠狠操狠狠燥| 欧美激情中文字幕另类小说| asc国产精品| 牛黄色久午久| 一二三四区电影| 福利色色| 婷婷丁香人妻 | 国产精品一区二区亚洲人成毛片| 97中文字幕色| 双插性欧美一二三区| 国产高清不卡视频| 国模无码一区二区三区在线| 日本一卡二区在线| 天天操夜夜操| 欧美18 在线观看| 青青草亚洲一区| 日本爽爽爽爽爽爽免费视频| 亚洲乱熟女一区二区| 丁香五月天啪啪| 97天堂| 久久超碰亚洲人| 国产女人与拘做受视频免费| 蜜桃视频啊啊啊啊| 中文激情网| 超碰欧美| 亚洲高清男人天堂| 97久久精品亚洲| 欧美性爱精品七区| 91嫩草在线| 五月天激情四射| 综合久久97| 大香蕉中文aV在线| 国产吞精a级片激情电影| 大香蕉一人| 欧美九9 9 9| 思思热在线视频免费| 中文字幕-区二区三区四区视频中国 | 五月天激情小说| 91操熟女| 精品一国2| 久久久国产成人一区二区三区在线 | 国产白嫩漂亮KTV在线| 久污| 奸色色 男人天堂 天天射| 一本色道久久天天射天天干| 91中出视频| 天天综合欧美综合| www激情| 无码直播久久久| 欧美日韩美女精品久草一区二区三区| 久草五月| 亚洲aV无码成人在线观看| 搡老女人老熟女91| 91久久久久| 亚洲综合另类欧美久久久| 日韩成人大片一区二区| 又大又长又粗又爽又黄| juliaann欧美丝袜办公室| 久久神马影院| 中文字幕丝袜人妻| 91超级碰| 92午夜免费福利视频| 九九九色| 久久久偷拍| 欧美综合 站| 97干在线看| 国产免费一区二区在线A片视频| 人人人摸人人| 久久久亚洲熟妇熟女| 九九九九九九免费视频| 国产精品suv一区| 一本道综合色图| 亚洲天堂无码| 精品亚洲国产成人av网站| 久久的免费性爱视频| 怡红院亚洲怡春院av| 精品国产国产AV| 97香焦色区| 色9999日韩国产| 国产亚洲中文不卡二区| 国产美女口爆吞精视频| 2024黄色视频| 国产又黄又粗又猛大片| 成人线上超碰| 午夜αv| 欧美一级二级三级| 色九九久九九| 男人天堂2030| 九九九九九精品视频| 另类图片五月天| 综合情欲网| 97精品97久久| 久久精品91| 999熟女精品| 天天操美美| 青青草五月天| 亚洲资源网| 激情视频一二三| 91处女视频在线观看| 大香蕉中文aV在线| 中 文字幕一区二区三四 五 区日 日 骚| 激情自拍 校园春色| 啊啊啊好爽快点啊啊啊嗯嗯| 色穴精品| 久草资源在线视频官方总站日韩丝袜美腿 | 香港日本韩国人妇99www.wccm20| 国产怡红院| 福利在线视频一区二区| 色悠久久久av| 99999国产精品| 亚洲精品久久久久久久蜜桃臀| 亚洲天天更新| 中文?日韩?免费?精品| av毛片aaaaa免费看| 成人av毛片在线观看| 亚洲精品国产熟女| 一级久久性爱视频| 色情综合网| 青青草原人妻| 99热这里只有是精品10| www欧美91| 亚洲 暴爽 AV人人爽日日碰| 先锋色眉乱伦资源| 五月丁香婷婷综合| 色狠人在线99| 婷婷探花久久精品一区| www.av家庭乱伦| 免费1级a做爰片观看| av无码av无码专区| 婷婷久久综合| 大香蕉啪啪啪啪在线| 中文字幕免费在线观看| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 在线观看日韩av不卡| 亚洲aV性爱| 亚州精人品大香蕉| 日韩精品系列| 日日干天天干夜夜爽| 国产精品无码av嫩草| 操99| 天天色怡春院| 97超碰欧美| 日韩人妻一二三区视频| 九九热九九热| 激情婷婷黑人91| 久久久新亚洲AV| 福利在线观看一区二区| 不卡九肏| 久久久久白虎| 99精品欧美一区二区三区桃色| 婷色五月天| 熟女网站最新| 亚洲巨爆乳一区二区三区四季网| 新版天堂中文资源8在线| 亚洲 欧美都市激情| 超碰碰小说97| 天天干干天天干干| 美女人妻色网站| 亚洲天堂另类| 国内毛片国产专区二| 热久久精品| 0755午夜福利视频| 亚洲最新a在线观看| 国产精品经典一卡久久久| KK色在线影院| 天天看,天天做| 麻豆精品A片免费观看| 男人精品区| 中文字幕在线观看二区三区| 久久综合久色欧美综合狠狠 | 91老妇女| 日本三级中国三级99人妇网站| 韩国女主播青草在线| 91n欧美| 日韩性爱网址| 噜噜噜噜天天狠狠| 强奸乱伦αv片| 精品二999| 精品人妻中文字幕4399| av操操不卡| 亚洲 欧美 精品专区 极品| 超碰97起碰| 久久久久成人网| 一区三区啪啪| 亚洲色性| 黄色AV影视| 青草精品视频一日本久久久久网站| 肉嘟嘟www视频在线观看高清| 欧美青青视频| 欧美精品99久久久**| 97日视频| 成人美女av| 啊啊啊啊啊好舒服视频| 亚洲欧洲日韩国产自在线| 乱久久久| 日本人人操人人操| 久久精品女同亚洲女同13| 欧美麻豆成人同性GⅤ在线| 91色人| 操比国产| 日韩大香蕉AV影片| 久久天天躁日日躁狠狠躁| 你懂的在线观看区国产| 密臀AV在线| 丰满少妇乱子伦精品无| 男同专区一区二区三区在线| 亚洲丝袜二区| 免费视频在线一区二区不卡| 四季AV一区二区凹凸精品小说| 草草影院日本第一页| AV色图| 丁香五月综合| 91在线视频国产网站| 天天综和| 911粉嫩人妻| 三四中文字幕| 精品无人区麻豆乱码久久久| 在线国产福利网址导航| 亚洲男人天堂手机版| 国产超碰国产97| 国产精品第一区第一页| 91视频综合在线| 午夜天堂啪啪| wwwxxx日本爽| 青青草综合在线| 物业黑人 AV一区| 丝袜熟女一区二区三区| 夜夜爽夜夜操| 亚洲国产青青| 最新AVzaixian| 日本三级一区二区 在线| 日韩欧美蜜桃精品久久中文字幕久久 | 少妇二级| 久久91精品国产9丨久久分亭| 国产成人精品一区| 欧美不卡在线美女| 日本日皮视频逼| 国产一级高清免费观看| 日本黄色XXX| 最新加勒比丝袜在线| 国产成人手机视频激情| 黄片视频观看| 国产农村妇女毛片精品久久| 天天天天天天天天综合| 99热这里只有精| 国产精品 久久久精品一牛| 91久久国产精品| 中文字幕女同在线| 蜜色网色哟哟| www.狠狠| 欧美强奸乱| 人妻干天天| 91人人操| 日本一二三免费久久| 99热精品国产| 中文字暮97| 丁香六月综合激情| 亚洲精品日日夜夜52| se吧提供国产乱老熟视频胖女人| 色婷婷国产精品一区在线观看| 日夜尻逼网| 亚洲天堂人人妻| 久久久久中出| 男人下部插入女人下部| 亚洲1区| 亚洲精品精品一区二区| 亚洲1区2区三区高清中文字幕| 国产熟女精品一区二区| 麻豆尤物视频网| 天堂精品一区| 2019午夜福利视频| 欧美性天天影院| 久久久∴| 国产25页| 精品9区| 亚洲视频,小说| 国产又大又粗又长视频在线| 人人手机欧洲亚洲国产人妻| 女人的久久久| 亚洲精品久久久久久久久豆丁网| 91 在线亚洲| 日本熟妇一区二区三区| 三级三级三级日本99| 色色操| 玖玖色综合| 九九av| 日韩精品区二区三区不卡| av在线资源| 开心五月婷婷激情| 久99| 又大又黄国产| 亚洲欧美另类少妇精品| 超碰天天久久79| 大香蕉伊在线久草麻豆天堂故事| av天天在线| 色眯眯av| 色老大| 亚洲风情在线观看| 97精品| 成人日韩3| 天天弄天天操| 日本亚洲熟女视频| 黄色网址久久精品欧美喷水| 啊啊啊啊视频免费| 日本蜜桃| 欲色综合| 日韩成人性日韩成人性爱视频在线免费观看 | 亚洲欧美爆| 青青草五月天| 91老妇女| 男啪女色黄无遮挡免费观看| 天天谢天天干| 国产高清精品福利| 一品道视频一区二区三区| 歐美一級亂黃99在綫精品| 麻豆精品天美| www男人天堂| 2023天天操夜夜操| 亚洲人妻中文高清| 中文字幕视频在线观看一区二区| 伊人伊人LD| 国产免费小视频| 看日韩黄片| 美女极品一区二区三区| 久久久爆乳翘臀一线天伦理视频| 乱码熟妇人妻久久久| 毛片麻豆91糖心精品毛情片| 男人的午夜天堂| 大香蕉黄色一级片免费看| 丁香九月激情| 精品一久久久| 97超碰香蕉| 国产精品久久久无码AV网站| 婷婷五月天补不补| 男女性扦B| 中日韩免费看男女操逼大全| 人人插人人摸人人| 91色综合激情| 亚洲午夜精品久久久中文影院| 亚洲av国产av综合av卡| 色色国产| 日本 情色 1区2区3区| 九九九九精品| 三级三久久线久久99久目本WW| av婷婷色网| 插B在线观看| 人妻一区二区三区视频| 日本 欧美 亚中文字幕| 男人天堂免费| 国产久久成人| 嗯~啊~快点 死我视频| 啊啊啊男女| 日韩乱伦AⅤ| 九九热男人天堂| 天天操妹子| 美国aaaaa一级黄片| 91丝袜美女| 蜜臀久久99精品久久久久久婷婷| 国产无码一二三区| 日本精品九九九| 摸奶性爱视频网站在线免费播放| 久久久久久亚洲精品不卡人乳| 中国黄色特级精品一区二区三区片| 麻豆国产精品午夜视频| 亚洲黄色网址| 超碰人妻97| 97超碰碰碰| 欧美人妻久久精品二区三区| 3D污黄视频在线观看| 日韩传媒在线| 综合影视国产无码| 少妇无码999| 人妻激情视频| 国精综合一二三区影视| 亚洲色图欧美视频| 少妇被c 黄 免费观看| 人伦四五区| 青青草字幕AV| AV天堂男人的天堂| 日本熟妇一区二区三区| 久久久久久久国产视频| 思思热国产在线视频| 亚洲一区二区AV| 亚洲情色综合网| 久草在| 天天操女人| 精品国产乱码久久久久久久久1| 国产精品一区午夜福利| 久草尤物| 天天操夜夜操狠很操| 熟女探花啪啪| 亚洲成人性爱网站在线播放| 清纯唯美亚洲另类| 九热久| 亚洲涩图欧美| 亚洲国产福利视频| 夜夜免费视频| 俺也射| 亚洲在线综合| 欧美翘臀视频网站一区二区三区| 国产三级片在线观看| 激情在线青青操| 91欧美网| 婷婷av在线中文字幕| 成年人网站在线免费观看| 被窝影院午夜看片无码| 国产又色又粗又黄又爽| 天天综合网日韩7799| 少妇人妻好深太紧了vr91| 国内精品999| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日日操丁香五月天| 亚洲综合精品国产一区| 这里有精品| 伊人影院在线理论播放 | 超碰97首页| 美女好片色日本| 上特色A在线| 五月丁香社区婷婷日韩欧美精品影院 | 国产肏逼网站| 国产欧美精选激情视频| 99热91| 国产精品一二三区福利| 狠狠干婷婷| 四虎影视在线| 偷拍99| 女人综合网| 秋霞久久亚洲精品成人| 亚洲男人bt天堂| 330dv亚洲成年视频网| 婷婷10月天青娱乐| 亚洲国产成人精品久久久国产成人一区二区三.| 久久婷色| 精品人妻一区二区蜜桃视频 | 色爱综合网欧美| 久久国产精品一区二区| 亚洲欧美日韩精品久| 麻豆性爱视频在线播放| 亚洲精品人体| 中文字幕狠狠玩| 91丝袜激情在线| 1240青青草一区二区三区视频天爱| 麻豆国产视频精品观看| 亚洲国产欧美日韩人妻日中文| 91丨精品丨国产丨丝袜| 亚洲国产欧美另类自拍| 热久日综合| 波多野结衣被操50分钟免费视频| 久操99| 最新日本中文字幕| 午夜激情床戏激情| 舔足天天操天天射| 国产成人资源| 国产精品ⅴ无码大片在线看.| 精品一久久久| 色嗨嗨在线| 91超碰丝袜制服| 夜夜嗨一区| 色婷婷六月丁香七月婷婷| 色av中文字| 极品综合| 少妇九九九九| 内射白嫩美女| 先锋色眉乱伦资源| 91 亚欧| 一区二区日韩欧美久久| 五月婷亚洲精品天堂| 97资源欧美| 伊人黄色视频免费观看| 亚州欧美另类| 国产精品视频播放| www.激情| 国产日韩精品人妻久久久久色欲网站 | 极品销魂美女一区二区 | 五月丁香成人网| 国产在线激情视频| 涩亚洲欧洲| 亚洲精品xxx| 精品人妻丰满熟妇一区二区三| 亚欧精品久久久久久久久久久| 男女一进一出视频久久| 丰满人妻一区| 97综合国产精品高潮久久| 国产精品婬乱一级毛片彝族| 中文字幕人妻丝袜乱一区三区| 91网18| 嗯嗯啊中文字幕| 91人妻素女| 亚洲天堂中文字| 免费少妇一区二区| 日本狂喷奶水在线播放212| 国产91美女视频| 97久久国产亚洲精品超碰热| 天天综合香 ld视频| 亚洲图片欧美91N| 五月天激情网图片| 青青草中文-久久青草精品一区二区三| 97在线精品观看视频| 精品日韩人妻视频| 亚欧性爱无码| 色呦呦、国产精品| 国产精品交换一区二区| 日韩欧美国产高清视频| 久久国产乱子伦精品免费女人| 日韩在线观看中文字幕视频| 外国免费性情大片| 91精品婷婷国产综合久久竹菊| 高清不卡视频| m欧洲一级午老| 熟妇高潮一区二区免费视频| 操人妻少妇中文 | 日韩一级免费性爱| 日本理论在线| 六月丁香五月婷婷| 无码99| 熟女中出视频| 九九九偷拍| 极品销魂美女一区二区 | 99精品视频在线观看免费| 中国女人内射6XXXXX| 亚洲经典啪啪| 一区二区偷拍拍视频| 日韩钢筋无码高清啾啾啾| 在线情色电影 91大| 日本97久久| 2019天天干| 国产福利在线视频网站| 香蕉久久国产AV一区二区| 欧美日日夜夜| 欧美淫乱视频| 国产午夜精品理论片一二三区区| 在线人成亚洲视频免费观看| 免费的黄片wwwwww| 午夜天堂精品久久| 97视频一区| 家庭乱伦国产| 色欲人妻一区二区在线| 97爱亚洲| 人人爱人人操人人性| 欧美亚综合色图| 午夜亚洲| 午夜寂寞欧美| 91色噜噜狠狠| 乱伦AVxx| 成人日韩中文字幕| 天天影视亚洲| 色婷婷小说| 欲香欲色综合天天伊人| 久久精品国产72国产精品福利| 久久曰曰| 国产强奸乱伦xd| 成人综合视频久久| 丁香六月激情| 91国产在线精品| 美国精品国产精品| 国产精品午夜福利视频| 思思热国产在线视频| 日本超碰色精品| av国产无码| 一区二区视频在看| 精品一区96| 国产成年精品高清在线观看91| 91丝袜激情在线| 狠狠色噜噜狠狠狠狠狠色综合久久| 青青操视频在线| 国产乱伦一二三区| 99色网| 欧美日韩精品国产91| 日韩乱插| 国产美女高潮| 天天操天天谢| yirendaxiangjiashipin| 三级AV入口| 啪啪啪综合| 日日A∨| 91国产丝袜白虎| 日韩精品一区的| 天天躁日日躁狠狠躁| 丝袜无码a片| 极品尤物在线观看| 在线岛国新天堂8| 蜜臀99精品国产高清在线观看| 97超碰无码网| 久久乐| 国产美女mm131爽爽爽爽| 中文字幕后石码三区四区| 夜夜爽爽夜夜精品视频| 人人喜人人妻| 亚洲欧美中文日韩视频中国语| 在线观看日韩av不卡| 国产一在线观看| 久久在肏| julia高潮后不停追击中出| 亚洲色图一区二区三区| 嗯嗯啊啊操死我| 大香蕉强奸乱伦| 国产99999| 日韩美女啪啪一区| 国产AV人人夜夜澡人人爽麻豆| 女人被添高潮免费视频| 日本操逼aaaaa| 综合欧美亚洲| 可以看的av| 国产AV激情无码久久无码| 亚洲欧美一区二区网址| 99re99在线视频| 亚洲精品蜜桃久久久久久久| 久久这里精品国产99丫e6| 在线国产一区二区av| 亚洲精品毛片在线观看| 强被迫伦姧在线观看无码网站| 久久9久久| 91综合天天看| 亚洲精品黑丝| 亚洲美女黄色| 丰满熟妇大乳做爰| 久射吧| 久久宗合亚洲| 97精品综合久久网| 91欧美性| 青青操日韩| 国产白丝网站| AV中亚| 综合久久久久久久久91| 夜草网站| 欧美一区二区三区另类精品| 丰满人妻无码一区二区三区| 天天弄天天操| 99天堂网| 一区中文字幕二区日韩| 亚洲色图综合网| 亚洲无码视频免费在线观看网址!| 另类在线| 久久久久久大| 精品欧美日韩在线观看| 午夜欧美精品久久久| 欧美双插| 在线观看成人性爱免费小视频| 91人妻精华帖| 久久久久婷婷| 亚洲综合小说另类图欧美视频激情小说色五月天 | 日本色婷婷| 色五月婷婷麻豆在| 99蜜桃臀久久久欧美精品网站| 色偷偷色偷偷欧美日韩| 亚洲图片 欧美电影| 人妻精品综合中文字幕在线| 高潮精品| 成年人黄色小视频网站| 国产精品久久久久久亚洲色欲| 躁躁日曰躁2020| 春色91| 国产精品视频播放| 男人的天堂在线有码| 国产绿奴视频在线观看| 亚洲av青草久久一区二区| 67194无码不卡| 人妻无一区二区三区| 久久噜| 嗯啊免费视频| 日韩无码久久熟女一级片| 手机看片1024你懂的国产| 精品免费视频国产一区| 熟女熟妇一区二区三区视频| 97免费在线视频在线观看| 激情九月婷婷| 啪啪视频亚洲第一| 高清国产无码av| 特色a在线上| 后入式999| 大乔未久88一区| 欧美最婬乱婬爆婬性视频| 亚洲精品99| 久久草在线综合视频| 口爆吞精在线观看| 无码动漫av中文字幕| 人妻91少妇| 美女爽到高潮91| 天美一区在线| www.男人天堂| 久草成人福利导航| 99色婷婷| 人妻熟女午夜精品在线| 九九性爱网| 免费看欧美美女黄色大片| 可免费观看的av毛片中日美韩| 啊啊啊好大好深| 亚洲深夜福利| 久久久月天| 四虎AV在线播放| 亚洲色图片区| 99rre在线精品99re8| 漂亮人妻被强中文字幕hd| 欧洲亚洲人人爽爽视频| 日韩人妻精品| 亚洲国产精品久久久久婷婷老年| 天天插天天操天天摸天天射天天看| 天美传媒Av在线| 最新精品久久蜜桃 | 五十路三区在线| 国产精品久久久久9999小说| 欧美日韩传媒| 午夜美女福利视频| 影音先锋每日最新资源在线观看 | 中文字幕av一区二区三区人妻少妇 | 久久久久久久久久久久黄色| 97干在线看| 东北女人| 97久久国产精品| 91综合天天| 98久久超碰| 亚洲国产另类在线中文| 精品日韩人妻视频| 欧美日韩 强奸乱伦| 操迟操逼在巾线Fre看| 色久桃花影院在线观看| 天天色播| 爆乳免费黄网站| 天天综合91在线| 九久久九精品视频| 国产视频小说| 天天舔日美女视频| 大香蕉一级黄色片久久| 五月天婷婷在线看| 综合操逼| 99在线精品视频| 欧美性暴力猛交XXXX| 精品中文日韩字幕视频| 久久后入制服| 精品九九九九九| 人人做,人人操,人人摸| 俺去俺来也在线www| 亚洲天堂区| 久草资源欧美在线视频| 亚洲图片偷拍欧美| 26uuu久久| 国产区性爱在线视频秋霞豆| 精品精品精品| 久久亚洲熟妇在线视频| 另类小说欧美激情校园春色| 九九视频黄色片| 亚洲AV无码国产精品久久久久| ′ !γ}丶。。久久精品欧美一区二区三区| 操人妻丝袜高跟| 91综合天天看| 熟妇xxxxx性春色| 秋霞一级视频在线观看免费| 亚洲综合色男人网| 91在线一起| A一区片| 五月婷婷爱六月丁香色| 丰满搜索结果 -第18页- 久久高清无码| 日本中文字幕熟妇| 欧美传媒| 日本91白丝| 欧美传媒一区| 操逼视频国产无套| 大香樵伊人网| 骚人妻少妇视频| 天天视频黄| 亚洲男人天堂2019| 加勒比伊人综合| 激情小说日韩无码| 超碰在线看| 囯产精品强| 国产最火爆久久国产网站网站| 国产女性无套 免费观看| 97国产天堂岛| 无码精品久久久久久亚洲| 国产高清成人传媒影视| 欧美91网站| 男人的天堂99| 国产精品久久99日日| 熟妇艹鸡八| 天啪| 另类图片五月天| 97人人夜| 婷婷激情五月天小说网| 日本淫穴在线| 久久精品国产99精品亚洲蜜...| 狠狠操狠狠| 欧美性色欧美| 亚洲乱熟女一区二区三区大香蕉| 午夜福利区| 无码人妻一区二区三区色欲aⅴ | 无码久久国产| 久久香蕉国产传媒一区剧情天美| 极品美女嘿咻| 91九色网| 玖玖资源视频一区二区三区| 亚洲精品国产专区在线观看| 2025亚洲男人天堂| 操逼A∨| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久思思热视频在线观看| 爱射综合| 欧美激情一区| www.操| 加勒比海色香蕉婷婷| 日本高清电影欧美色图| 97超碰超碰| 国产11页| 搡老女人老91二区| 国产人妻精品久久久一区二区三区 | 五月天婷精品激情| 超碰无码五月97| 99re热有精品视频国产| 色欲人妻一区二区在线| 午夜福利一区二区三区四区五区色婷婷| 国产精品 视频| 丝袜综合色图| 欧美亚洲综合色| 2017大香蕉| 久热色情精品| 视频一区二区免费在线| 欧美日韩一干二干| 乱伦色图网址是多少| 国产熟女| 欧美一级黄片免费播放| 亚洲区小说| www.色婷婷.com| 亚洲毛片基地专区| 亚洲。日韩。欧美| 岛国免费视频在线| 亚洲诱惑天堂 | 成人羞羞视频国产| 麻豆性爱视频在线播放| 久久久久久久久久久免费精品| 成人片视频| a在线观看| 国产丝袜一区二区三区| 麻豆天美国美国产AV| 人人玩人人添人人澡免费| 狠狠亚洲| 亚洲欧美日韩精品久久久一区二区 | 亚洲本色精品一区二区久久| 亚洲天堂第一页| 国模不卡| 快播电影网日韩新片| 麻豆天美久久91| 综合国产影视三级| 国产精品禁久久久精品| 国产精品色色| 中文字幕一二三| 裸体1区| 久久99亚洲精品久久99果| 狠狠躁伊人中文字幕| 美女主播色欲91抠b在线播放| 久久久久久一日韩字幕无码| 中文在线视频| 日韩999| 天堂无码| 午夜综合在线| 久久手机好看网站| 26uuu国产免费观看| 高清无码人妻久久久一区二区三区aⅴ| 欧洲中文字幕| 大香蕉黄色一区| 久久久久亚洲Av无码专区老牛影视| 97超碰人操| 欧美综合97www| 亚洲一区二区中文字幕| 久久超碰国产一区二区三区| 色偷偷2020免费视频播放| 亚洲情色五月天| 白嫩国模丰满一二三区| 精品无码一区二区三区| www久久精品| 97干在线看| 99激情视频| 99这里只有精品国产| 久久人妻少妇| 四虎国产成人精品免费一女五男| 在线精品福利免费播放| 日韩中文字幕国产| 亚洲成人贴图| 色悠久久久av| 九月AV| 欧美成人9797| 亚洲精品亚洲人成人网| 日本成人A片网站| 亚洲极品| 色色99| 性色一线| 人人爱操| 操人91| 超碰成人公开| 国产精品懂色tv影视免费观看| 日本幼女18+| 亚洲视频小说| 国产精品视频电影| 久久超碰爱| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 久草久热| 九九这里只有精品| 影音先锋乱| 顶级丝袜熟女一区二区三区| 黄色人人| 91视频综合网| 欧美78P| 久久久青青草| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 欧美一二三区四五区| 蜜桃久久久久久久| 天天影视色香色欲| 色情五月丁香| 日本岛国黄色网址| 亚洲性爱无码乱伦av| 日本在线播放不卡一区| 奇米四色影视777久久久| 久久亚州精品成人Av无| 在线中文字幕| 日本中文字幕不卡视频| 中文字幕丰满子伦无码专区在线视频最新 | 91天堂网| 91欧美综合| 国产嫩草精品A88AV| 97超碰精品图片| 欧美96交| 91日韩网站| 精品人妻一区二区三区视频在线| 久久一二三四五六七八九区| 久久骚| 欧美黑人日韩少妇色情| 综合情欲网| 800zy一区二区| 无码一区二区三区四区五区六区七区八区九区十区视频 | 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美碰碰综合色| 欧美 日韩第一性色| 天美传媒精品一区二区三区| 色狠狠一区二区三区香蕉| 亚春色色| 欧美色宗合| 女人与公拘交酡2020视频| 久久精品国产99精品亚洲蜜... | 中文有码9| 99热线麻豆| 九久精品| 伊人丁香五月婷婷| 激情网色| 视频分类 国内精品| 久久久一级| 嗯嗯啊啊好疼| 人妻无码视频一区二区三区久久| 人妻无码视频一区二区三区久久| 亚洲精品黄码久久久久| 天美精品原创av片国产| 91成人18| 天天综合网日韩7799| 97色色婷婷| 伊人久久大香蕉线AV五月天| 9 9精品一区二区三区| 国产综合网站在线播放| 欧美久热| 久久国模av| www.acm成人黄色毛片| 欧美日韩中文字幕不卡| 国产日韩手机视频在线| 人妻99p| 大香蕉色十月|