欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

銀行排隊(duì)系統(tǒng)與隊(duì)列建模:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全解析

銀行排隊(duì)系統(tǒng)與隊(duì)列建模:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全解析 簡介這是一份數(shù)據(jù)結(jié)構(gòu)課程期末作業(yè)的完整工程包主題為銀行排隊(duì)系統(tǒng)適合需要完成同類作業(yè)或練習(xí)隊(duì)列應(yīng)用的在校學(xué)生。資源通過雙隊(duì)列模型實(shí)現(xiàn)VIP與普通用戶的優(yōu)先級(jí)服務(wù)重點(diǎn)覆蓋隊(duì)列的入隊(duì)出隊(duì)操作、多隊(duì)列調(diào)度邏輯、基于文件讀取用戶信息以及C STL中queue容器的使用能幫助理解隊(duì)列結(jié)構(gòu)在真實(shí)場景中的落地方式。壓縮包共9個(gè)文件大小1.03MB包含C源碼、項(xiàng)目配置與依賴文件、用戶信息數(shù)據(jù)文件以及編譯生成的exe/obj等既可直接運(yùn)行查看效果也可打開工程研讀實(shí)現(xiàn)細(xì)節(jié)。目前已有3361人學(xué)習(xí)此資源適合作為數(shù)據(jù)結(jié)構(gòu)期末項(xiàng)目參考也可在此基礎(chǔ)上擴(kuò)展業(yè)務(wù)規(guī)則或改進(jìn)可視化界面。1. 數(shù)據(jù)結(jié)構(gòu)期末作業(yè)里的??豌y行排隊(duì)系統(tǒng)到底在考什么如果你正在準(zhǔn)備數(shù)據(jù)結(jié)構(gòu)期末大概率會(huì)撞上「銀行排隊(duì)系統(tǒng)」這道經(jīng)典題目。它表面是個(gè)控制臺(tái)項(xiàng)目實(shí)際考的是隊(duì)列在真實(shí)業(yè)務(wù)里的建模能力客戶到達(dá)、排隊(duì)、窗口叫號(hào)、等待時(shí)長統(tǒng)計(jì)這些環(huán)節(jié)全都要落到數(shù)據(jù)結(jié)構(gòu)和算法上。很多同學(xué)拿到題先寫界面寫完發(fā)現(xiàn)核心邏輯全擠在一堆 if 里窗口一多就亂套數(shù)據(jù)一跑就崩。這份作業(yè)資源把整個(gè)系統(tǒng)拆成了客戶管理、隊(duì)列調(diào)度、時(shí)間片推進(jìn)、統(tǒng)計(jì)輸出四個(gè)模塊用 C 語言實(shí)現(xiàn)邏輯完整實(shí)驗(yàn)報(bào)告也配套好了。適合正在做數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)、需要一份能跑通能答辯的參考工程的同學(xué)也適合想在期末復(fù)習(xí)里把鏈隊(duì)列和循環(huán)隊(duì)列一次看明白的人。不吹復(fù)雜度但能讓你少走三個(gè)禮拜彎路。2. 先把模型立住隊(duì)列選型、客戶狀態(tài)機(jī)與三類設(shè)計(jì)取舍2.1 為什么是隊(duì)列而不是棧從真實(shí)柜臺(tái)業(yè)務(wù)倒推數(shù)據(jù)結(jié)構(gòu)選型銀行排隊(duì)這件事本質(zhì)是先進(jìn)先出先到的人先被叫號(hào)后到的人排在隊(duì)尾。這正好對(duì)應(yīng)隊(duì)列隊(duì)列的操作受限在兩端隊(duì)尾入隊(duì)、隊(duì)頭出隊(duì)。上學(xué)期學(xué)棧的時(shí)候你大概率背過「后進(jìn)先出」但真正面對(duì)業(yè)務(wù)場景時(shí)能不能從需求反推結(jié)構(gòu)才是關(guān)鍵。銀行排隊(duì)系統(tǒng)如果用棧來模擬就會(huì)變成最后一個(gè)人先被服務(wù)這在業(yè)務(wù)上是災(zāi)難面試官一眼就能看出你沒有建模能力。這道作業(yè)題的刻意之處在于它逼著你從「業(yè)務(wù)規(guī)則」出發(fā)而不是從「我會(huì)寫什么代碼」出發(fā)。我在拆這份資源時(shí)最先看的不是代碼怎么寫而是它的模型定義。完整的銀行排隊(duì)系統(tǒng)至少要回答四個(gè)問題客戶是什么時(shí)候來的客戶需要服務(wù)多久窗口什么時(shí)候空閑空閑窗口該叫誰。這四個(gè)問題分別對(duì)應(yīng)客戶數(shù)據(jù)結(jié)構(gòu)里的到達(dá)時(shí)間、服務(wù)時(shí)長以及調(diào)度模塊里的窗口狀態(tài)判斷隊(duì)列出隊(duì)操作。順序一旦反了比如先出隊(duì)再查空閑窗口就會(huì)出現(xiàn)窗口空著沒人服務(wù)、隊(duì)首客戶卻干等的情況。選隊(duì)列還有一個(gè)理由它允許你在常量時(shí)間內(nèi)完成入隊(duì)和出隊(duì)。鏈隊(duì)列的入隊(duì)出隊(duì)都是 O(1)不會(huì)隨著客戶數(shù)量增加而變慢。這是這門課里最容易被忽視的考點(diǎn)——老師只要追問一句「為什么不用數(shù)組模擬」你要能說出擴(kuò)容代價(jià)和空間浪費(fèi)。順序隊(duì)列雖然也行但循環(huán)隊(duì)列的實(shí)現(xiàn)細(xì)節(jié)多處理不好就翻車后面避坑章節(jié)我會(huì)專門講。2.2 鏈隊(duì)列 vs 順序隊(duì)列期末作業(yè)場景下的取舍標(biāo)準(zhǔn)期末作業(yè)場景下選鏈隊(duì)列還是順序隊(duì)列我建議直接看兩個(gè)條件一是你的客戶數(shù)量是否有限制二是你要不要頻繁取隊(duì)頭元素。這份資源用的是簡單鏈隊(duì)列頭節(jié)點(diǎn)作為哨兵front 指針始終指向哨兵rear 指向隊(duì)尾入隊(duì)操作接在 rear 后面出隊(duì)操作從 front 后面取。這套實(shí)現(xiàn)的好處是判空特別直觀front 的 next 為空就是空隊(duì)列不需要維護(hù) front 和 rear 相等這種邊界狀態(tài)。如果你選順序隊(duì)列注意循環(huán)隊(duì)列的判空和判滿條件容易混淆。很多同學(xué)用 headtail 判空又用 headtail 判滿結(jié)果隊(duì)列滿的時(shí)候和空的時(shí)候表現(xiàn)一樣運(yùn)行起來邏輯全亂。順序隊(duì)列適合客戶數(shù)量固定、你明確知道峰值容量不超過某個(gè)值的場景比如題目規(guī)定了「銀行最多同時(shí)接待 100 個(gè)客戶」。鏈隊(duì)列則沒有這個(gè)限制內(nèi)存按需分配更適合做模擬類作業(yè)——你不知道模擬到第 1000 分鐘時(shí)排隊(duì)人數(shù)是 5 個(gè)還是 50 個(gè)。兩份答案我都見過優(yōu)秀的作業(yè)案例。順序隊(duì)列勝在代碼短適合時(shí)間緊張、只想交差的情況鏈隊(duì)列勝在魯棒性適合想沖高分、答辯時(shí)能多說幾句的情況。這份資源選鏈隊(duì)列還有個(gè)實(shí)際考慮它要在模擬結(jié)束后遍歷隊(duì)列輸出每個(gè)客戶的等待時(shí)間鏈隊(duì)列的遍歷邏輯比順序隊(duì)列下標(biāo)翻轉(zhuǎn)更好講清楚。2.3 客戶對(duì)象的數(shù)據(jù)結(jié)構(gòu)狀態(tài)機(jī)、等待時(shí)長與窗口分配客戶是系統(tǒng)里的核心對(duì)象它的數(shù)據(jù)結(jié)構(gòu)定義決定了整個(gè)系統(tǒng)的復(fù)雜度。我看過不少作業(yè)把客戶簡化成一個(gè)整數(shù)編號(hào)結(jié)果后面統(tǒng)計(jì)平均等待時(shí)間時(shí)完全無從下手??蛻糁辽僖衅邆€(gè)字段編號(hào)、到達(dá)時(shí)間、服務(wù)時(shí)長、開始服務(wù)時(shí)間、等待時(shí)長、狀態(tài)、指向下一個(gè)客戶的指針。狀態(tài)字段可以定義成枚舉取值包括未到達(dá)、排隊(duì)中、服務(wù)中、已完成四種??蛻舻臓顟B(tài)機(jī)是整個(gè)系統(tǒng)的內(nèi)在邏輯未到達(dá)的客戶在模擬主循環(huán)里按概率生成并入隊(duì)排隊(duì)中的客戶等待窗口空出服務(wù)中的客戶消耗窗口剩余時(shí)間已完成的客戶統(tǒng)計(jì)數(shù)據(jù)并釋放內(nèi)存。這份資源把狀態(tài)機(jī)分散在調(diào)度模塊和主循環(huán)里而不是用一個(gè)大 switch 包裹我覺得更符合實(shí)際工程習(xí)慣——每個(gè)狀態(tài)只有一種轉(zhuǎn)型路徑狀態(tài)間的關(guān)系在代碼流程里自然體現(xiàn)答辯時(shí)你能講清楚每個(gè)分支為什么這么寫。窗口分配的規(guī)則需要單獨(dú)說。最簡單的分配策略是掃描所有窗口找到第一個(gè)空閑窗口就把隊(duì)首客戶分配過去。復(fù)雜度為 O(窗口數(shù))窗口少時(shí)無感窗口數(shù)到 20 以上時(shí)每一分鐘都要掃描一次就會(huì)浪費(fèi)大量時(shí)間。進(jìn)階做法是維護(hù)一個(gè)空閑窗口鏈表空閑窗口入鏈忙碌窗口出鏈分配時(shí)直接取鏈表頭部復(fù)雜度 O(1)。這份資源用的是掃描法因?yàn)樗翱跀?shù)一般不超過 10代碼更直觀適合期末作業(yè)的教學(xué)目標(biāo)。2.4 雙端隊(duì)列與優(yōu)先級(jí)隊(duì)列作業(yè)里哪些「加分設(shè)計(jì)」值得做數(shù)據(jù)結(jié)構(gòu)教材里比普通隊(duì)列高階的是雙端隊(duì)列和優(yōu)先級(jí)隊(duì)列。雙端隊(duì)列允許隊(duì)頭隊(duì)尾都能入隊(duì)出隊(duì)優(yōu)先級(jí)隊(duì)列則按優(yōu)先級(jí)出隊(duì)而不是按到達(dá)順序。銀行排隊(duì)系統(tǒng)里這兩種結(jié)構(gòu)都能找到應(yīng)用場景但我不建議在基礎(chǔ)版本里直接用。原因很簡單老師批改作業(yè)時(shí)先看的是你能否用最樸素的方式把業(yè)務(wù)模擬清楚花里胡哨的進(jìn)階結(jié)構(gòu)如果沒有業(yè)務(wù)支撐答辯時(shí)一個(gè)「為什么要用雙端隊(duì)列」就能把你問住。如果你一定要做加分設(shè)計(jì)優(yōu)先級(jí)隊(duì)列有兩個(gè)位置可以合理地出現(xiàn)VIP 客戶插隊(duì)和老年客戶優(yōu)先窗口。這兩個(gè)業(yè)務(wù)規(guī)則都天然符合優(yōu)先隊(duì)列的語義不是硬套。具體做法是給客戶結(jié)構(gòu)體加一個(gè) priority 字段普通客戶為 0VIP 客戶為 1然后在小頂堆的基礎(chǔ)上改成按優(yōu)先級(jí)比較、同優(yōu)先級(jí)再按到達(dá)時(shí)間排序。這份資源里沒有用堆而是簡單地對(duì)隊(duì)列做了一次查找找到優(yōu)先級(jí)最高的客戶再出隊(duì)復(fù)雜度是 O(n)適合處理少量 VIP 的場景。雙端隊(duì)列在這個(gè)項(xiàng)目里最合理的用途是實(shí)現(xiàn)「喊號(hào)不回應(yīng)則重新排到隊(duì)尾」這個(gè)業(yè)務(wù)。喊號(hào)超時(shí)未到的客戶從隊(duì)頭移除再插入到隊(duì)尾普通隊(duì)列要實(shí)現(xiàn)這個(gè)邏輯得先出隊(duì)再入隊(duì)雙端隊(duì)列語義上更貼切。但注意如果老師沒要求這個(gè)業(yè)務(wù)做得再好也是額外負(fù)擔(dān)。我給你的建議是優(yōu)先保證基礎(chǔ)流程完整、數(shù)據(jù)統(tǒng)計(jì)準(zhǔn)確再把剩余時(shí)間花在測試和報(bào)告上這兩項(xiàng)的性價(jià)比遠(yuǎn)高于加一個(gè)堆排序。3. 核心代碼落地排隊(duì)模擬器的四個(gè)模塊與關(guān)鍵函數(shù)3.1 工具模塊隨機(jī)客戶生成與時(shí)間片推進(jìn)模擬類作業(yè)的核心思路不是「寫一個(gè)真實(shí)的銀行系統(tǒng)」而是「在離散時(shí)間片里推進(jìn)狀態(tài)」。常見做法是以分鐘為最小時(shí)間單位每分鐘做三件事決定是否有新客戶到達(dá)、讓忙碌窗口的剩余服務(wù)時(shí)間減一、把空閑窗口分配給隊(duì)首客戶。這樣整個(gè)系統(tǒng)的狀態(tài)就是可追蹤的任何時(shí)刻你都能解釋某個(gè)客戶在哪個(gè)隊(duì)列、某個(gè)窗口在服務(wù)誰。客戶到達(dá)的邏輯一般用概率控制。每分鐘到達(dá)一個(gè)新客戶或者每 N 分鐘到達(dá)一個(gè)客戶兩種模式各有用途。固定間隔適合測試概率到達(dá)適合模擬真實(shí)場景。下面這段代碼用的是概率模式用隨機(jī)數(shù)判斷當(dāng)前分鐘是否有客戶到達(dá)void generate_customer(Queue *q, int current_time, int *global_id) { Customer *c (Customer *)malloc(sizeof(Customer)); if (!c) { printf(內(nèi)存分配失敗模擬終止\n); exit(1); } c-id (*global_id); c-arrive_time current_time; // 服務(wù)時(shí)長2 到 8 分鐘之間的隨機(jī)數(shù)模擬不同業(yè)務(wù)復(fù)雜度 c-service_time rand() % 7 2; c-start_time -1; c-wait_time 0; c-state 1; // 1 表示排隊(duì)中0 表示未到達(dá)2 表示服務(wù)中3 表示已完成 c-next NULL; q-rear-next c; q-rear c; q-size; }這段代碼里最關(guān)鍵的是rand() % 7 2。這個(gè)表達(dá)式生成 2 到 8 的整數(shù)表示客戶需要的服務(wù)時(shí)長。如果你覺得業(yè)務(wù)里應(yīng)該有些客戶快速辦完、有些客戶磨嘰很久可以把隨機(jī)分布從均勻分布改成分段分布比如 70% 概率生成 2 到 4 分鐘30% 概率生成 6 到 10 分鐘。很多作業(yè)的統(tǒng)計(jì)結(jié)果「看起來不真實(shí)」就是因?yàn)榉?wù)時(shí)長用了均勻分布現(xiàn)實(shí)中銀行不會(huì)所有人都平均耗時(shí)。時(shí)間片推進(jìn)的主循環(huán)要維護(hù)一個(gè)時(shí)鐘變量每循環(huán)一次加一。循環(huán)終止條件有兩個(gè)常見選項(xiàng)固定運(yùn)行 480 分鐘模擬銀行一天的營業(yè)時(shí)長或者運(yùn)行到隊(duì)列清空且所有窗口空閑。推薦用前者作為主終止條件后者作為程序結(jié)束前的收尾步驟——你要統(tǒng)計(jì)完整營業(yè)日的數(shù)據(jù)就必須把已經(jīng)入隊(duì)但還沒服務(wù)完的客戶處理掉。另外注意rand()在多次運(yùn)行時(shí)如果不設(shè)置隨機(jī)種子每次結(jié)果都一樣這在測試階段很方便但最終演示時(shí)要加srand(time(NULL))讓每次運(yùn)行的數(shù)據(jù)不同。3.2 隊(duì)列模塊入隊(duì)、出隊(duì)、判空與遍歷統(tǒng)計(jì)鏈隊(duì)列的實(shí)現(xiàn)建議加上一個(gè) sentinel 頭節(jié)點(diǎn)。頭節(jié)點(diǎn)不存數(shù)據(jù)只作為鏈表起點(diǎn)front 指向它rear 指向最后一個(gè)真實(shí)節(jié)點(diǎn)。這樣做的好處是空隊(duì)列的表示非常干凈front 和 rear 都指向頭節(jié)點(diǎn)沒有任何多余判斷。判空邏輯是front-next NULL這個(gè)條件在整個(gè)調(diào)度模塊里會(huì)反復(fù)用寫錯(cuò)一次可能只有到窗口分配時(shí)才能發(fā)現(xiàn)。入隊(duì)邏輯是往 rear 后面掛新節(jié)點(diǎn)同時(shí)更新 rear出隊(duì)邏輯是摘掉 front 后面的第一個(gè)真實(shí)節(jié)點(diǎn)如果摘完發(fā)現(xiàn)隊(duì)列空了要把 rear 重新指回頭節(jié)點(diǎn)——這一步漏掉就直接翻車后面無限遍歷。int is_queue_empty(Queue *q) { return q-front-next NULL; } void enqueue(Queue *q, Customer *c) { c-next NULL; q-rear-next c; q-rear c; q-size; } Customer *dequeue(Queue *q) { if (is_queue_empty(q)) return NULL; Customer *c q-front-next; q-front-next c-next; if (q-front-next NULL) { q-rear q-front; // 隊(duì)列空了rear 回到哨兵 } q-size--; c-next NULL; return c; }有兩點(diǎn)值得你注意。第一出隊(duì)時(shí)為什么要把c-next置空這不是必須的但能防止上層誤用已出隊(duì)節(jié)點(diǎn)的指針做遍歷屬于防御性編程的順手操作。第二dequeue返回的是客戶指針而不是 void這樣調(diào)度模塊可以拿這個(gè)指針直接設(shè)置開始服務(wù)時(shí)間省一次查找。數(shù)據(jù)結(jié)構(gòu)作業(yè)里函數(shù)的設(shè)計(jì)能體現(xiàn)出你有沒有工程素質(zhì)面試官翻代碼時(shí)第一個(gè)看的就是「出隊(duì)的客戶數(shù)據(jù)怎么被上層使用」。如果把這一步做成先出隊(duì)再從某個(gè)數(shù)組里按 id 找回客戶那就白白浪費(fèi)了出隊(duì)的返回值。隊(duì)列遍歷統(tǒng)計(jì)是另一個(gè)高頻功能。營業(yè)結(jié)束后要把隊(duì)列里剩下沒處理的客戶標(biāo)記為「未完成」同時(shí)在表格里輸出。遍歷用for (Customer *p q-front-next; p ! NULL; p p-next)就夠了。統(tǒng)計(jì)峰值隊(duì)列長度時(shí)在每次入隊(duì)和出隊(duì)后更新max_len變量比最后再掃一遍隊(duì)列要簡單得多也更不容易出錯(cuò)。3.3 調(diào)度模塊窗口空閑檢測與分配邏輯調(diào)度模塊是銀行排隊(duì)系統(tǒng)的核心也是最能拉開分?jǐn)?shù)差距的地方。每次主循環(huán)進(jìn)入調(diào)度階段時(shí)遍歷所有窗口找到剩余服務(wù)時(shí)間為 0 的窗口把隊(duì)首客戶出隊(duì)分配給它。但這里有一個(gè)容易被忽視的業(yè)務(wù)細(xì)節(jié)同一分鐘內(nèi)有多個(gè)窗口空閑時(shí)先分配哪個(gè)窗口其實(shí)對(duì)客戶而言沒有區(qū)別但對(duì)代碼實(shí)現(xiàn)來說每個(gè)窗口獨(dú)立分配即可不需要額外排序。typedef struct { int remaining_time; // 剩余服務(wù)時(shí)間0 表示空閑 int served_count; // 今日已服務(wù)客戶數(shù) int total_busy_time; // 累計(jì)忙碌時(shí)間用于計(jì)算窗口利用率 } Window; void dispatch(Queue *q, Window *windows, int window_count, int current_time) { for (int i 0; i window_count; i) { if (windows[i].remaining_time 0 !is_queue_empty(q)) { Customer *c dequeue(q); c-start_time current_time; c-wait_time current_time - c-arrive_time; c-state 2; // 服務(wù)中 windows[i].remaining_time c-service_time; windows[i].served_count; printf(分鐘 %d客戶 %d 開始在窗口 %d 服務(wù)等待 %d 分鐘\n, current_time, c-id, i 1, c-wait_time); } if (windows[i].remaining_time 0) { windows[i].remaining_time--; } } }注意上面代碼里remaining_time--的位置。它放在同一輪循環(huán)的最后先分配再遞減。這樣窗口在ts時(shí)刻被分配客戶服務(wù)時(shí)間立即減一代表這一分鐘已經(jīng)消耗掉。如果你把遞減放在循環(huán)開頭邏輯就會(huì)變成「這一分鐘先被跳過」導(dǎo)致所有客戶的服務(wù)結(jié)束時(shí)間延后一分鐘統(tǒng)計(jì)出的平均等待時(shí)間偏大。這種差一分鐘的 bug 最難查因?yàn)檎麄€(gè)系統(tǒng)還能跑通只是數(shù)據(jù)不對(duì)。調(diào)度模塊還有一個(gè)細(xì)節(jié)客戶分配給了窗口之后進(jìn)度要不要立即打印。我看過一些作業(yè)把printf放在所有窗口處理完之后統(tǒng)一輸出導(dǎo)致日志時(shí)序錯(cuò)亂客戶明明在第 50 分鐘開始服務(wù)打印卻出現(xiàn)在第 51 分鐘。這里的教訓(xùn)是模擬系統(tǒng)的日志輸出必須緊貼狀態(tài)變更不要為了排版整齊而延遲打印。答辯時(shí)老師會(huì)拿著你的運(yùn)行日志和代碼對(duì)照看對(duì)不上就露餡了。3.4 結(jié)算模塊平均等待時(shí)間、隊(duì)列長度峰值的計(jì)算口徑結(jié)算模塊的目標(biāo)是在模擬結(jié)束后輸出三項(xiàng)數(shù)據(jù)服務(wù)客戶總數(shù)、平均等待時(shí)間、最大隊(duì)列長度。三個(gè)數(shù)據(jù)的計(jì)算口徑各有講究。服務(wù)客戶總數(shù)是窗口served_count之和這個(gè)最簡單但注意要排除掉營業(yè)結(jié)束還沒被服務(wù)的客戶——用總數(shù)除以窗口數(shù)算平均每個(gè)窗口的服務(wù)量時(shí)邊界情況很容易錯(cuò)。平均等待時(shí)間的計(jì)算要區(qū)分「已服務(wù)客戶」和「所有到達(dá)客戶」。這份資源里統(tǒng)計(jì)的是已服務(wù)客戶的平均等待時(shí)間即總等待時(shí)間 / 已服務(wù)客戶數(shù)。如果你把還在隊(duì)列里等待的客戶也算進(jìn)去這些客戶 wait_time 還未更新會(huì)導(dǎo)致結(jié)果虛低。計(jì)算總等待時(shí)間時(shí)在dispatch里累加c-wait_time到全局變量total_wait_time最后一步再除以served_total避免結(jié)算時(shí)再遍歷一次隊(duì)列。void settle(Queue *q, Window *windows, int window_count, int total_wait_time, int served_total) { printf(\n 營業(yè)結(jié)束統(tǒng)計(jì) \n); printf(總服務(wù)客戶數(shù)%d\n, served_total); printf(已服務(wù)客戶平均等待時(shí)間%.2f 分鐘\n, served_total 0 ? (double)total_wait_time / served_total : 0.0); int left 0; for (Customer *p q-front-next; p ! NULL; p p-next) { left; } printf(營業(yè)結(jié)束時(shí)仍在排隊(duì)的客戶數(shù)%d\n, left); printf(最大隊(duì)列長度%d\n, max_queue_len); }結(jié)算模塊里最容易犯的錯(cuò)是除零。如果模擬參數(shù)設(shè)置得極端比如客戶到達(dá)概率極低、窗口數(shù)量多到幾乎不需要排隊(duì)可能出現(xiàn)served_total為 0 或者隊(duì)列里始終沒人除零直接崩潰或輸出inf。答辯時(shí)老師喜歡改參數(shù)測試的魯棒性你要在結(jié)算函數(shù)里做防御性判斷。上面的代碼已經(jīng)用三元表達(dá)式擋了一層但這只是最低限度更穩(wěn)的做法是在主循環(huán)里檢查客戶總數(shù)為 0 時(shí)提前結(jié)束模擬。4. 避坑與排查五個(gè)導(dǎo)致銀行排隊(duì)系統(tǒng)翻車的典型問題4.1 現(xiàn)象運(yùn)行幾秒后程序閃退或死循環(huán)這個(gè)現(xiàn)象在鏈隊(duì)列實(shí)現(xiàn)里尤其常見。閃退多半發(fā)生在窗口分配時(shí)訪問了空指針?biāo)姥h(huán)多半發(fā)生在遍歷隊(duì)列時(shí)鏈表斷裂或成環(huán)。最常見的根因是出隊(duì)操作時(shí)沒有在隊(duì)列為空的情況下重置rear指針。出隊(duì)最后一個(gè)客戶后front和rear還指向那個(gè)已經(jīng)被釋放的節(jié)點(diǎn)下一次入隊(duì)會(huì)繼續(xù)往這個(gè)釋放過的內(nèi)存地址上寫數(shù)據(jù)程序直接崩潰。解決把出隊(duì)函數(shù)里q-rear q-front這行加上確保隊(duì)列空了以后 rear 重新回到哨兵節(jié)點(diǎn)。如果你用的是上課給的模板代碼先檢查模板里出隊(duì)函數(shù)是否處理了「出隊(duì)后變空」這個(gè)邊界條件。很多教科書為了簡潔省略了這步作業(yè)直接照抄就翻車。4.2 現(xiàn)象所有客戶集中擠在一個(gè)窗口其他窗口都是空閑的這通常是窗口分配邏輯中的判斷方向?qū)懛戳恕<僭O(shè)一個(gè)窗口的remaining_time為 0 表示空閑如果你順手寫成 0那么窗口剛被分配完客戶后仍然滿足條件同一輪循環(huán)里會(huì)被二次分配相當(dāng)于一個(gè)窗口連續(xù)搶走多個(gè)客戶。表現(xiàn)就是只有一個(gè)窗口在忙其余窗口一直空閑服務(wù)數(shù)據(jù)完全失真。解決把窗口空閑判斷收斂成remaining_time 0這一個(gè)條件同時(shí)確保遞減邏輯在分配之后執(zhí)行。如果同一個(gè)窗口在同一次循環(huán)里既被分配又被遞減把它拆成「先分配后遞減」兩個(gè)階段不要混在一起。打印日志確認(rèn)每個(gè)窗口每次循環(huán)最多只被分配一次客戶。4.3 現(xiàn)象平均值忽大忽小每次運(yùn)行結(jié)果都不一樣無法復(fù)現(xiàn)沒有設(shè)置隨機(jī)種子導(dǎo)致的問題在測試階段尤其煩人。rand()默認(rèn)種子是 1每次運(yùn)行生成相同的隨機(jī)序列但如果你在代碼里加了srand(time(NULL))每次運(yùn)行結(jié)果都不同這導(dǎo)致你沒法穩(wěn)定地復(fù)現(xiàn)一個(gè) bug。我見過有人為了「看起來真實(shí)」每次運(yùn)行都換隨機(jī)種子結(jié)果 debug 時(shí)改一個(gè)參數(shù)隊(duì)列行為完全變了沒法判斷是參數(shù)改動(dòng)還是隨機(jī)因素導(dǎo)致的。解決在測試模式下調(diào)srand(1)固定種子讓每次運(yùn)行結(jié)果一模一樣確認(rèn)邏輯正確后再切到隨機(jī)種子。建議在主函數(shù)里加一個(gè)測試開關(guān)比如if (test_mode) srand(42); else srand(time(NULL));。這個(gè)習(xí)慣也能在答辯時(shí)加分——你可以當(dāng)著老師的面用固定種子復(fù)現(xiàn)數(shù)據(jù)再切隨機(jī)種子演示一次說明兩種模式都驗(yàn)證過。4.4 現(xiàn)象輸入菜單選項(xiàng)后程序不執(zhí)行對(duì)應(yīng)功能直接跳過這是 C 語言控制臺(tái)程序里最常見的問題幾乎每份作業(yè)都會(huì)踩一次。scanf(%d, choice)讀取完數(shù)字后緩沖區(qū)里還殘留一個(gè)換行符\n緊接著的getchar()或scanf(%c)會(huì)把換行符讀進(jìn)去導(dǎo)致后續(xù)邏輯以為你輸入了一個(gè)非法字符?,F(xiàn)象就是菜單選了 1程序秒過什么都沒發(fā)生。解決在每個(gè)scanf后面加一個(gè)while (getchar() ! \n);清空緩沖。或者統(tǒng)一用fgets讀整行再用sscanf解析后者更穩(wěn)但代碼量會(huì)大一些。期末作業(yè)用第一種就行改動(dòng)最小風(fēng)險(xiǎn)最低。注意這個(gè)坑在 Windows 和 Linux 下表現(xiàn)不一致Windows 下\r\n處理更麻煩盡量在 main 函數(shù)開頭就用 setbuf 或者在每個(gè)輸入點(diǎn)后清一次緩沖。4.5 現(xiàn)象數(shù)據(jù)量大時(shí)輸出錯(cuò)亂日志跟實(shí)際業(yè)務(wù)對(duì)不上模擬運(yùn)行超過幾百分鐘、客戶數(shù)量上千時(shí)控制臺(tái)輸出會(huì)變得非常長。問題不在邏輯而在輸出緩沖和滾動(dòng)速度——你看到的日志可能是幾十秒前的排查時(shí)對(duì)著舊日志調(diào)新代碼越調(diào)越亂。另外有些人用printf輸出調(diào)試信息跑完才發(fā)現(xiàn)正式輸出和調(diào)試輸出混在一起答辯時(shí)老師根本不知道哪行是結(jié)果。解決把日志分級(jí)模塊內(nèi)部用DEBUG宏控制是否輸出只有客戶狀態(tài)變更和最終統(tǒng)計(jì)結(jié)果走正式輸出通道。在 main 循環(huán)頂部打印當(dāng)前分鐘數(shù)方便對(duì)照。如果你用的是 Windows 終端輸出量大時(shí)建議重定向到文件運(yùn)行一次./bank_system log.txt再打開文件逐行看。這也是我給你的建議模擬類作業(yè)的正確調(diào)試方式從來都是看文件不是盯控制臺(tái)。5. 測試與驗(yàn)證用一份可復(fù)現(xiàn)的實(shí)驗(yàn)數(shù)據(jù)證明作業(yè)能跑通5.1 測試用例設(shè)計(jì)邊界條件、極端負(fù)載與穩(wěn)定運(yùn)行期末作業(yè)最怕的不是功能做不出來而是測試階段做的都是「正常情況」邊界條件一碰就崩。好的測試用例至少要有四類。第一類是空隊(duì)列運(yùn)行把客戶到達(dá)概率設(shè)為 0窗口數(shù)設(shè) 1跑完整 480 分鐘程序應(yīng)能正常結(jié)束且統(tǒng)計(jì)結(jié)果為全 0不能出現(xiàn)除零崩潰。第二類是極端負(fù)載窗口數(shù)設(shè) 1到達(dá)概率設(shè) 1每分鐘都來一個(gè)人模擬結(jié)束后確認(rèn)沒有內(nèi)存泄漏、沒有隊(duì)列溢出。第三類是常規(guī)負(fù)載窗口數(shù)設(shè) 3 到 5到達(dá)概率設(shè) 0.3 到 0.5記錄平均等待時(shí)間驗(yàn)證結(jié)果在合理范圍內(nèi)——正常情況下平均等待時(shí)間應(yīng)該在一二十分鐘左右如果超過兩小時(shí)說明調(diào)度有問題。第四類是混合服務(wù)時(shí)長把服務(wù)時(shí)長的分布從均值改為偏態(tài)分布觀察隊(duì)列長度峰值的變化。下面給一份可以直接粘貼的測試用例表字段包括測試名、參數(shù)、預(yù)期結(jié)果、實(shí)際結(jié)果、判定。我每次做課程設(shè)計(jì)都會(huì)先建這張表填完再動(dòng)手改代碼比邊寫邊測效率高一倍。測試名窗口數(shù)到達(dá)概率服務(wù)時(shí)長范圍預(yù)期結(jié)果判定空隊(duì)列10.0-正常結(jié)束統(tǒng)計(jì)數(shù)據(jù)全 0通過極限負(fù)載11.02-8 分鐘所有客戶被服務(wù)無崩潰通過常規(guī)混跑40.42-8 分鐘平均等待 5-25 分鐘需驗(yàn)證VIP 插隊(duì)40.4混合分布VIP 平均等待低于普通客戶需驗(yàn)證5.2 數(shù)據(jù)結(jié)果分析平均等待時(shí)間與服務(wù)窗口數(shù)的關(guān)系銀行排隊(duì)系統(tǒng)的核心輸出指標(biāo)是平均等待時(shí)間和最大隊(duì)列長度。這兩個(gè)指標(biāo)對(duì)窗口數(shù)的敏感度極高窗口從 3 個(gè)增加到 4 個(gè)平均等待時(shí)間可能從 30 分鐘直接掉到 10 分鐘但從 5 個(gè)增加到 6 個(gè)改善幅度就不明顯了。這是因?yàn)榕抨?duì)論里的利用率臨界點(diǎn)效應(yīng)——當(dāng)窗口數(shù)量增加到一定程度后瓶頸從窗口數(shù)轉(zhuǎn)移到了客戶到達(dá)規(guī)律本身。一份能拿高分的作業(yè)會(huì)在報(bào)告里展示三組不同窗口數(shù)下的運(yùn)行結(jié)果并解釋「為什么窗口加到 5 個(gè)以后平均等待時(shí)間下降趨緩」。這份實(shí)驗(yàn)可以跟著做固定到達(dá)概率為 0.5、模擬 480 分鐘、服務(wù)時(shí)長 2 到 8 分鐘分別用 2、3、4、5、6 個(gè)窗口跑記錄平均等待時(shí)間和最大隊(duì)列長度你會(huì)發(fā)現(xiàn)曲線從陡降變成平緩。這組數(shù)據(jù)就是緒論里「銀行該開多少個(gè)窗口」這個(gè)問題最直觀的回答。還要注意一個(gè)統(tǒng)計(jì)細(xì)節(jié)最大隊(duì)列長度應(yīng)該記錄「營業(yè)期間任意時(shí)刻排隊(duì)的客戶數(shù)最大值」而不是「營業(yè)結(jié)束時(shí)隊(duì)列里還剩多少人」。很多同學(xué)把這兩個(gè)數(shù)搞混答辯時(shí)被老師一句「你最大隊(duì)列長度才 3但日志里顯示中間有段時(shí)間排隊(duì) 20 多人」問得啞口無言。實(shí)現(xiàn)時(shí)在入隊(duì)操作后加一行if (q-size max_queue_len) max_queue_len q-size;比最后遍歷逐步判定準(zhǔn)確得多。5.3 復(fù)雜度分析期末答辯必問的時(shí)間復(fù)雜度與空間復(fù)雜度答辯時(shí)老師必問的問題是「你這個(gè)系統(tǒng)的時(shí)間復(fù)雜度和空間復(fù)雜度是多少」。很多人在這道送分題上翻車因?yàn)槟M類作業(yè)的時(shí)間復(fù)雜度不能簡單地用單步操作 O(1) 來回答要和模擬的分鐘數(shù) M、客戶總數(shù) N、窗口數(shù) W 三個(gè)維度掛鉤。整體時(shí)間復(fù)雜度的推導(dǎo)脈絡(luò)是主循環(huán)運(yùn)行 M 分鐘每分鐘做一次到達(dá)判斷O(1)和一次調(diào)度O(W)所以調(diào)度部分的總復(fù)雜度 O(M * W)。如果使用優(yōu)先級(jí)隊(duì)列做 VIP 插隊(duì)調(diào)度部分復(fù)雜度為 O(M * logN)因?yàn)槊看纬鲫?duì)要維護(hù)堆結(jié)構(gòu)。空間復(fù)雜度由隊(duì)列長度決定最壞情況下所有客戶在同一時(shí)段到達(dá)且窗口無法及時(shí)處理隊(duì)列長度為 O(N)。另外每個(gè)客戶結(jié)構(gòu)體占固定空間總空間 O(N)。答到這里就把 O(N) 的答案和「為什么不是 O(N2)」講清楚了。6. 答辯與報(bào)告把作業(yè)從及格線拉到優(yōu)秀檔的三個(gè)習(xí)慣6.1 實(shí)驗(yàn)報(bào)告這樣寫老師第一眼就認(rèn)可報(bào)告的結(jié)構(gòu)別按教科書模板抄按你代碼里的模塊走。先寫業(yè)務(wù)需求分析把「先進(jìn)先出、窗口空閑叫號(hào)、超時(shí)重新排隊(duì)」三條規(guī)則用自然語言描述清楚再畫數(shù)據(jù)結(jié)構(gòu)定義直接用你代碼里的結(jié)構(gòu)體。核心是展示一張運(yùn)行結(jié)果表列出 3 組窗口數(shù)下平均等待時(shí)間、最大隊(duì)列長度、總服務(wù)客戶數(shù)然后補(bǔ)一段對(duì)結(jié)果的分析。這兩樣The last part of the report is the hardest one: dont write too much, and dont paste a new chapter. The teacher will read the report and code for 20 minutes, and the empty words will be crossed out. The most direct way to get a high score is to show that you have actually done many experiments and have a comparison. If you can append a test log of two shots, the credibility will immediately rise.6.2 Source code organization and two useful expansion directionsSource code dont put everything into one main.c. Split into queue module. c, dispatch. c, stats. c, plus the header file, accompanied by a makefile. Consider that most data structure courses only use C, but I suggest that you do this anyway, because in defense I have many students type code in front of the teacher to say my code is all in one file, which is actually not a problem, but if you show 3 files, the impression of engineering quality is enough to push the score up half a gear.Two cost-effective expansion directions: the first is VIP priority channel, often use priority queue implementation, business logic is clear; the second is to add too late to call the number processing, two times failed to respond to the customer back to the tail of the queue. Both are small changes, code scale about 50 lines. If you can also mention the queue length peak change with the window number trend line, the answer to the optimization question will have material. I have done more than a dozen such projects, each time the final defense is forced to walk through these three things: fixed seeds reproducing a set of experimental data, boundary test to run again, report the complexity analysis once. Since then, whenever I take over a similar simulation project, I first do three stops: fixed seeds, boundary tests, complexity, and then change the logic. Hope it helps you, at least on the last night before the deadline to have a batch of can answer the code.本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香啪啪啪| 色欲久久综合| 人妻人人操| 激情伊人五月婷婷久久| 99在线精品观看99| 99er这里只有精品| 久操热| 久久99久久久| 黄网免费看| 玖玖热99| 俺去也在线www色官网| 丁香婷婷激情六月五月开心| 九九热欧美| 久/久精品99看9| 婷婷激情小说网| 99热e| 亚洲婷婷91丁香| 五月婷久久| 色性综合| 影音先锋五月天婷婷丁香在线观看| 天天干天天干天天干天天干天| 97狠狠碰| 人妻22p| 日韩激情婷婷五月天| 色婷婷成人做爰A片免费看网站| 色婷婷五月天成人网| 超碰免费人| 婷婷色五月色| 这里只有精品免费在线视频| 国产内射婷婷| 色停停香蕉视频| XXXX岛国| 九热久| 亚洲成人在线播放| 开心婷婷五月中文字幕组| 噜噜五月天综合| 少妇性按摩无码中文A片| 青青草色在线视频观看| 国产精品久久久久9999小说| 五月综合丁香婷婷| 99热精这里只有精品| 色综合婷婷99| 色五月播五月| 天天爽天天爽视频| 久草五月天电影网| 色婷| 超碰99热在线观看| 久久人人做人人妻人人玩精品va| 九月av| 91久久精品无码一区二区三区| 99这里有精品| 五月天伊人| 91超碰人人操| 校园春色亚洲色| 五月丁香六月情| 五月色在线| 蜜臀综合久草| 国产毛片精品一区二区色欲黄A片| 婷婷综合色五月天| 色必久悠悠影院| 综合日本婷婷| 四川女人毛多水多A片| 婷婷五月色亚洲| 9l视频自拍9l视频自拍九色学生| 超碰一区二区| 热91久| 午夜激情婷婷| 五月丁香婷婷综合视频| www.日日夜夜| 777久久精品| 99啊精典免费视频| 碰碰碰碰碰99| 婷婷99视频在线| 大香蕉99热| 丁香六月视频免费观看| 99小精品| 丁香六月婷婷| aa久久| 久草丁香婷婷1024| 99网| 99自拍网| 中文字幕av在线播放| 综合在线丁香五月| 婷婷六月丁香综合| 99视频内射三四| 久久婷婷综合拍| 午夜精品人妻无码一区二区三区| 色欧洲| 新激情五月天天在线网| 日婷婷久久开心| 色婷婷影音| 九九久久精品| 婷婷五月天丁香成人社区| 天天日天天色| 涩五月婷婷| 亚洲成人高清在线| 久久婷婷内射| 五月六月伦理| 久久黄色片| 丁香婷婷久久激情| 国产色色网站网址| 婷婷五日b| www.久久| 美女天天艹人人爽| 色色色99韩| 久9久9热久热| www久| 激情宗合 激情宗合| 色伦专区97中文字幕| 色五月在线观看| 欧美色五月| 五月丁香在线看| 色丁香久综合在线久综合在线观看| 激情五月天婷婷直播| 超级久久久| 婷婷六月天亚州| 98毛片| 色五月综合网| 丁香五月香蕉在线| 亚洲综合色网站| 天堂久久性| 人人操人| 久久久久久久8| www色综合亚洲92| 五月天色色色网| 99人妻碰碰久久久禁片| 婷婷在线五月综合| 久久五月天丁香花| 色婷婷色综合激情91| 国产XXXX搡XXXXX搡麻豆| 五月久久婷婷| 婷婷成人五月天| 色99网站| 欧美日韩精品人妻狠狠躁免费视频| 人人草人人舔| 国产偷人爽久久久久久老妇APP| 荡乳尤物3HP1V5| 五月丁香啪啪啪| 91碰碰碰| 激情五月婷婷色综合| 天天色中文字幕女优AV| 97干干干丁香| 丁香六月婷婷社区| 国産精品| 五月丁香网站在线播放| 久狠日av| AV色婷婷| 少妇高潮A片无套内谢麻豆传| 亚洲爆乳无码精品AAA片蜜桃| 99久久九九| 国产精品久久久久久久久久| 91在线视频观看午夜福利| 婷婷不卡基地| 在线观看的av| 精品香蕉99久久久久网站 | 精品成人久久久久久久_一二三四视| 久久久久久久久久91| 情色婷婷五月天| 激情骚五月| 成人在线综合| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 天天日天天摸| 色激情五月| 日韩操人| 9999热精品| 五月天婷婷激情网| 伊人久久激情图区五月| 五月天激情网开心网| 丁香婷婷成人网站| 五月丁香影院| 久久99精品久久久| 色七色九九| 亚洲乱码成人| 99操逼| 婷婷射丁香| 操操人人| 青青久久五月天丁香婷婷| 91精品综合久久久五月天| 日韩在线99| 啪啪色激情五月天| 亚洲最大五月天成人网| 婷婷五月无码| 五月激情影院| 嫩BBB搡BBBB榛BBBB| 婷婷丁香五月基地| 亚洲色爽| 丁香五月激情啪| 色婷婷成人做爰A片免费看网站 | 夜夜操夜夜操| 性色综合网| 婷婷六月激情小说网| 婷婷五月天a| 97丁香五月| 久久精品一区二区三区四区| 精品成人在线观看| 26uuu欧美宗合| 久9久9久9久9久9久9| 中文字幕丰满孑伦无码专区| 久99综合婷婷| 99久久久| 大香蕉五月丁香| 久久机热/这里只有精品| 激情五月天综合网| AV无码免费| 激情五月丁香色婷婷| 激情av在线| 办公室少妇激情呻吟A片在线观看| 丁香花操逼| 综合五月天亚洲婷婷| 五月天天天色| 乱乱av| 日本色道视频网站| 一本色道久久综合狠狠躁小说| 操人91| www.激情com| 色五月久久成人婷婷| AV性爱网| 影音先锋AV资源男人站| 日本在线免费中文com.| 丁香六月在线| 色综合99无码| 久热这里只有精品99re,久热这里只有精品7| 精品99在线| 日本欧美成人片AAAA| 五月婷婷六月丁香玖玖玫瑰91| 五月婷婷五月天天| 婷婷五月婷婷| 一级片sese片.COM| 九九色婷婷| 婷久久综合| 亚洲爱爱无码婷婷色五月| 超碰com| 免费看欧美成人A片无码| 玖玖玖婷婷婷| 九九热国产| 国产又爽又猛又粗的视频A片| 成片免费播放| 久久婷婷综合网| 久久99免费视屏| 色婷婷五月综合在线| 99在线热| 日韩精品一区二区刘| 99丁香五月婷| 99热99在线| 久热九九| 色色国产| 婷婷色五月综合丁香| 亚洲欧美成人在线| 91精品综合久久久久久五月丁香| 99人人干| 黑人无码一区| 久久大香蕉同僚| 亚洲av无码影院| 色色色欧美色色| 最近韩国日本免费高清观看| 五月色婷婷影视在线电影| 国产亚洲99久久精品| 天堂爱啪啪| 狠狠做深爱婷婷久久综合一区| 全部老头和老太XXXXX| 女人露出p毛视频www网站| 久9无码视频| caopeng97人人| 亚洲AV色婷婷人禽五月天| 日木WWW视频| 丁香色播五月天| 日本欧美成人片AAAA| 99这里只有精品国产| 激情婷婷六月天| 超碰人人色| 亚洲最大视频| 亚洲婷婷月丁香五月| 国产激情久久久| 秋霞免费三级片| 九九久久网| AV堂狠狠干| 激情五月婷婷网| 91尤物九色在线| 五月天婷婷基地| 啪啪激情网| 五月婷婷六月丁香在线| 國語久久婷| 99视频自拍| 如何安全看伊人婷婷| 亚洲中文字幕av| 五月天伊人av| 99惹 精品在线| 五月激情网综合| 9l视频自拍九色9l黑人| 丁香五月伊人| 五月丁香网视频| 九九久久精品| 精品九九视频在线观看| 丁J香六月首页| 夜夜撸日日操| 97碰| 香蕉AV777XXX色综合一区| 欧美噜噜免费观看| 91呦呦呦| 九九碰九九爱97超| 五月色情网| www.婷婷com| 色婷婷丁香五月天在线观看| 久久久WWW| 色婷婷综合网站| 超碰丁香五月| 99综合自拍| 九九黄色网| 国产小精品| 久久婷婷激情视频| 六月丁香久久| 91狼友视频在线观看| 天天干电影| 久久丝袜婷婷| 午夜激情综合| 一二三区视频韩国| 99ri6在线视频| 天堂综合久久 | www.婷婷.com| 亚洲激情综| 国产精品在线视频| 91人人爱| 国产午夜精品一区二区| 伊人天天色| 天天射色五月天| 久久久久久欧美精品se一二三四| 欧美va亚洲va在线播放| 97碰啪啪| 成人美女网| 激情开心五月天| 国产综合丁香五月天| 这里只有久久精99| 热九九精品| 97碰碰九九视频| 亚洲色图五月丁香| 色五月综合婷婷| 99在线视频色版| 超PEN精品在线| xxxx久| 国产26uuu视频| 丁香六月| 亚洲激情另类| 小视频一区| 91性高潮久久久久久久久| 色色色香蕉五月婷| 婷婷五月天福利| 色播五月网| 全网最新网黄大秀直播高清,主播国产录屏在线 | 9久久久| 北京熟妇搡BBBB搡BBBB| 五月婷婷熟女| 五月丁香婷婷综合视频| 激情纯色婷婷五月天在线不卡视频| 婷婷久久影院| 人碰人人人玩91| 日本va欧美va国产激情| 婷婷中文字幕网| 色色色.com| 久久99久久99久久99人受| 丁香婷婷浪潮AV久久综合| 色色色色色色色色综合网| 欧美婷婷丁香五月社区| 思思久久精品| 激情丁香九九五月综合网| 婷婷色日本| www.久久爱| 91精品久| www,setingting| 五月丁香狠狠地噜噜噜噜| 色九月婷婷综合| 五月婷婷久久爱| 婷婷五月天AV| 色婷婷综合网| 噜噜噜狠狠色综合| 久久狼人天堂| 色爱99| 涩婷婷五月天| 婷婷九月亚洲| 伊人婷婷大香蕉在线| 超碰九色| 色播五月婷婷| 日日日日操| 婷婷六月色丁香视频在线观看| 欧美精品99| www.精品久9| 激情婷婷激情在线不卡| WWW.亚洲无码| 万月丁香狠狠爱| 99视频内射三四| 欧美日韩aaa| 9999久久久久| 亚洲综合99| 开心婷婷五月天激情网| 色五月首页| 丁香五月综合在线播放| 中文aV网| 人人舔天天| 森林影视大全,最好看的2019年视频 | 99热在线观看| 欧美在线视频99| www.婷婷五月天| www.sebowuyue| 色青五月天| 午夜福利8055| 小泽玛利亚视频一区二区| 超碰在线播放免费观看| 99热狠狠操| 亚洲在线视频321| 五月丿香啪啪| 久久五月激情综合| 激情五月天婷婷直播| www.婷婷久久五月天| 琪琪色网在线| 欧美日韩精品一区二区三区钱| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 久777| 婷婷激情六月中文| 大香婷婷| 久久新地址| 久久亚洲婷婷| 色情丁香五月天| 亚洲综合五月天综合| 久久五月综合| 五月色婷婷综合丁香精品无遮挡| 永久地址 色| 婷婷丁香激情综合色情| 五月丁香激情综合网| 天天插天天射| 九九这里都是精品| 精品夜夜澡人妻无码AV| 亚洲天堂制| 五月色激情综合网| 欧美在线看| 99婷婷| 色的色综合| 五月综合激情综合久| 思思综合热| 亚洲日韩欧美综合VA| 夜夜撸日日操| 久久丁香五月| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 九月婷婷综合在线| 香蕉久久国产AV一区二区| 五月婷婷六月丁香激情深爱| 丁香综合伊人AV| 婷婷丁香五月高清| 亚洲中文字幕av| 精品夜夜澡人妻无码AV| 亚洲AV成人无码精品| 91刘玥视频在线观看| 在线播放成人| 一区二区乱码视频| 激情六月五月婷婷综合网| 任你日热视频| 久热这里只精品| 婷婷色日本| 五月丁香六月综合激情 | 九玖视频这里只有精品| 五月综合婷婷久久在线| 色色色婷婷五月| 996热| 亚洲精品第一国产综合亚AV | 天堂婷婷丁香六月网| 色综合天天综合成人网| 九九综合色| 丁香五月婷婷少妇| 色婷婷成人丁香| 另类激情网| 久久综合九九| 五月天综合色| 亚洲天天免费| 五月丁香啪综合| 人妻丰满精品一区二区A片| 久久九九婷婷| 色亚洲色宗合| 久久五月视频| 超碰97色| 内射激情在线| 超碰成人免费| 激情五月天第四色| 婷婷四月 成人 狠狠干| 天天色天天操天天射| 九九人人操| 日韩美女羞羞网站在线观看| 亚洲色色在线| 婷婷激情性爱| 日韩 mm 不卡| 夜夜夜叫天天天做| 天天干天天插| 亚洲无码11| 色情免费视频播放| 天天插天天日| 99热在线精品播放| www夜夜| www.五月天社区| 久久久这里有精品| 色婷婷狠狠久久YY| 欧美草久久五月天91| 深爱激情五月天| 日韩黄色电影| 激情五月婷婷丁香综合网| 五月婷婷啪啪| 色婷| 色综合久久88色综合天天看| aaa久久久| 噜噜色五月| 伊人网碰碰| 色五月开心久久网| 五月婷婷视频28| 欧美日韩91| 黄色成人AV在线| 日韩免费乱轮网站| 六月丁香婷| 探花搜索结果 - 黄上黄| 成年人99热| CHINESE熟女老女人HD视频 | 色综合天天| 激情性爱五月天| 美欧成人视频| 色综合偷拍| www激情五月天| 最近中文字幕2019视频1| AV中文在线| 色99色| 97久久综合网| 天堂婷婷丁香六月网| 国产亚洲在线观看| WWW色综合| 激情久久久| 亚洲综合五月天婷婷丁香| 九九综合| 五月婷婷性爱视频| 女高怪谈在线观看| 99热免费18| 人人人人人人人草| 懂色av粉嫩av蜜臀av| 色婷婷丁香五月天在线视频| 亚洲综合激情五月久久| 琪琪理论片| 婷婷激情性爱| 婷婷五月天久久久| 色色日本| 激情丁香五月婷| 婷婷久久网| 激情五月天综合网站网站网站| 色五月五月天色婷婷色五月| 超碰在线超碰| 色婷婷亚洲五月天| 亚洲色图五月丁香| 九九色热| 99视频精品视频| 国产激情综合五月久久| 色婷婷丁香六月| 99只有精品| 狠狠狠狠狠狠草| 久久五月婷6 9| 激情宗合网激情五月天| 日本天堂网站99| 激情五月婷婷丁香| 亚洲成人高清在线| 婷香五月激情视频| 六月丁香深深爱| 1024国产在线| 婷婷五月天开心网| 五月天色综合| 99久久9| 天天综合天天玩夜夜玩天天玩夜夜玩| 婷婷丁香五月社区亚洲| 色噜噜狠噜噜视频| 99热啪啪| 亚洲12p| www激情五月天| 99色久| 久久婷五月天| 婷婷色香六月综合激情| 黄色AAAAAAA| 99热1| 婷婷综合另类小说| 婷久久高清| 婷婷五月色播| 精品视频这里只有精品| 丁香香蕉射射射| 婷婷色色欧美| 97资源碰碰| 国产欧美精品AAAAAA片| 深爱五月婷婷开心中文字幕| 丁香五月激情综合久久| 97婷婷狠狠| 婷婷综合激情五月中文字幕| 丁香婷婷六月| 色九区| 五月丁香 啪啪啪| 亚洲无码九九九| 九九热黄色| 婷婷丁香五月激情中文字幕版| 亚州第一黄网| 色五月六月| 亚洲性爱日韩无码| 青青草色在线视频观看| 51精品国自产在线| 狠狠色丁香婷婷久久综合| 久久婷婷五月国产色综合激情| 欧美怡红院黄站| 天天插天天射| 久草五月天电影网| 夜夜爱伊人| 欧美电影在线观看| 日本视频99| 九九久久99| 婷婷久久性爱| 婷婷丁香18| 婷婷五月天激情综合| 97色碰| 三十熟女| 久久视频这里都是精品| 色青五月天| 五月婷婷综合激情| 色五月五月婷婷| 日日噜狠狠色综合久| 婷婷性福五月天| 婷婷的99视频网站| wuyuedingxiang| 亚洲精品大片| 狠狠狠狠狠狠| 五月成人网天天| 中文字幕AV在线| 激情综合文学| www超碰| 免费亚洲婷婷五月| AAA亚洲AV| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 99综合免费视频| 色色丁香| 美欧成人视频| 百度一下国产精品A| 丁香五月激情五月| 九九大香蕉黄色影院| 五月天婷婷久久综合| 欧美精品99| 亚洲啪啪精品| 婷婷综合仓库中文| 婷婷五月天堂| 超碰二区| 久久激情网| 久久丁香五月婷婷| 2025最新亚洲激情在线| 欧美日本黄色| 五月婷婷精品| 婷婷久久爱| 内射干少妇亚洲69XXX| 开心婷婷中文字慕| 思思99久久| 熟女强人妻一区二区三区四区无| 欧美99热| 五月丁香婷婷色色色| 天天综合色综合| 久热精品视频在线观| 久久999久久999久久999久久| 玖玖婷婷免费| 色135综合网| 狠狠狠狠狠干| 免费视频无码| 99热这里只有精品中文字幕| 丁香五月网址| 久久久99免费视频| 狠狠色丁香婷婷久久综合| www.成人婷婷综合| 99思思热只有在这里看| 成人婷婷五月| 亚洲性爱99在线| 婷婷综合欧美| 婷婷激情伍月网| 五月丁香啪啪| 97黑人精品区| 成人综合视频在线| 激情爱爱网站| 日本啪啪网| 九九热精品99| 日韩黄色网络| 99热精品观看| 九热精品| 超碰99久久| 婷婷大香焦| 99热这里只有精| 大香蕉520| 五月丁香六月| 国产婷婷色综合AV蜜臀AV | 99精品视频在线观看| 天天日天天色| 另类视在线| 操一操干一干| 五月丁香六月激情综合在线| 91聚色综合网| 丁香婷婷性久久| 六月婷婷综合激情| 99热精品在线播放| 120分钟婬片免费看| 久久久久久久人妻| www.yw尤物| 荫道BBWBBB高潮潮喷| 538在线精品| 色色丁香| 成人国产网| 夜夜干天天干| 激情五月天色网站| 超碰亚洲欧美| 婷婷在线视频| 成人精品在线| 综合激情五月丁香| 日本社区五月天激情| 色月九九| 黄色片久久| 9九色首页| 免费的日逼视频| 爱超碰性| 九九99久久| 丁香丁香激情网| 99久久婷婷五月| 色色色色色色网站| 五月婷婷人妻| 狠狠五月激情丁香六月| 天天玩夜夜操| 五月丁花六月丁香综合| 亚洲婷婷丁香五月在线| 一区中文字幕电影| 久久9久| 婷婷五月色丁香在线看| 香蕉综合在线| 五月婷av| 99国产精品久久久久久久久久久| 类似婷婷激情综合网站| 色欲五月天| 色五婷婷| 91操人| 色A网| 久99热在线观看| 热热色色五月天婷婷| 七七九色| 丁香五月开心婷婷| 丁香五月婷婷久久综合激情网| 热99.com婷婷| 少妇AB又爽又紧无码网站| 99碰网站| 超碰1999| 色婷婷伦理| 国产亚洲99久久精品| 人妻六月天| 色欧洲| 99re思思久久| 九九精品片一| 97se在线视频| 99啪在线| 欧洲日韩一区二区三区| 色久影院| 五月天婷婷综合色| 日本三级日本三级99| 亭亭五月激情亚洲在线| AV电影在线播放| 淫视馆av三区| 婷婷五月综合婷婷| http://www.lingjunshare.com/ | 牛牛热这里只有jingpin| 激情AV在线| 青草性爱视频| WWW五月| 激情五月天婷婷| 操比激情五月综合| 呦呦视频无码播放| 99久久激情视频| 久久婷婷五月综合一| 日日操夜夜操狠狠操| 99色在线| 久久六月天| 99热在线观看99| sewuyuejiqingwang| 亚洲在线激情婷婷五月| 26UUU欧美激情一区二区| 操婷婷基地| 久久女人天堂| av中文字幕免费观看| 麻豆忘忧草午夜| 天天色一道本综合婷婷| 久久精品这里只有精品免费首页| 色婷綜合网| 大香蕉啪啪| AV在线大香蕉| 妇激情基地| 婷婷中文字暮| 免费看片在线观看| 久久久久9久无码视频| 另类视频五月天| 久热这里只有| 五月丁香啪| 无码99| 黄桃AV无码免费一区二区三区| 亚洲妇女熟BBW| 色婷五月天激情| 婷婷五月综合体验看| 亚洲AV日韩在线观看| 伊人大香五月天| 五月婷婷与六月丁香图片激情| 激情五月婷婷色色| 婷婷五月综合啪| 国自产拍偷拍精品啪啪一区二区| www.日本久久videos| 亚洲视色| 婷婷中文综合网| 99高级会所久久| 亚洲视频99| 激情四射五月天| 超碰在线人人| 五月天婷婷免费| 丁香婷婷性久久| 99热色婷婷| 深爱婷婷网| 超碰人人操人人9| 久久婷婷激情视频| 婷婷色综合中心站| 婷婷五月天激情综合深爱激情| 99久久免费精品| WWW.99热| 欧美日韩成人在线观看| 国产在这里只有精品| 亚洲中文字幕在线观看| A片试看50分钟做受视频| 五月婷婷综合在线亚洲视频| 99在线免费视| 五月婷婷激情网| 色五月丁香一区在线| 香蕉综合在线| 99热婷婷| 丁香六月激情综合| 九九伊人网| 天天插综合| 久久538| 婷婷六月啪啪| httpwww色com日本| 99九九在线精品热动漫| 日本www五月婷婷| 丁香婷婷五月六月天| 色综合伊人网| 亚洲综合另类| 久久婷婷电影| 东京热伊人| 色五月婷婷婷婷| 婷婷五月天黄色小说| 大香蕉婷婷丁香天堂AV| 久热在线中文字幕色999舞| 蜜乳久AV| 国产67194| 99免费在线视频| 婷婷丁香久久五月综合| 超碰cap| 五月天婷久精视频| 97人凄人人操人人爽| 激情五月天色色| 青青草搞屄视频网站| 99re这里只有| 婷婷五月丁香久久| 五月丁香综合啪啪| 天天久久九九| 国产免费av在线| 久久婷五月综合色| www.五月.com| 国产肥白大熟妇BBBB视频| 色五月婷色彩免播放器| 538在线精品| 婷婷五月天天aV| 99热99| 色五月天在线观看| 玖玖精品资源| 91一道本| 久久这里只有精品热在99| 爱草视频在线| 色婷婷香蕉丁丁网| 五月激情六月宗合| 丁香涩涩五月天| 婷婷激情啪啪| 久久久久久激情| 色综合天天网| 色月丁| 色五月人妻| 国产另类综合| 五月天色色色色色| 丁香五月偷拍| 丁香五月开心婷婷| 91超碰在线观看| 女人被躁到高潮嗷嗷叫小| 色色色色色爱| 97色热| 亚洲性爱AV在线| 五月婷婷九九热| 婷婷九月激情| 九九久久高清| 久青青久| 婷婷 伊人 久久| 婷婷五月开心六月AV| 天天爱天天日| 久久婷婷五月综合色区| 大香线蕉伊人| 婷婷丁香视频| 99久久精品色老| 丁香五月1页| 久操无码| 色吧五月婷婷| 色色五月婷婷久久| 婷婷五月丁香香蕉| 色情性爱视频网址| 成片免费观看视频大全| 中文字幕AV网址| 五月综合久久| 久久婷婷人人| 丁香五月中文字幕色播| 丁J香六月首页| 五月丁香久久久日婷婷久久婷婷日| 五月婷婷片| 色婷婷狠狠| 婷婷午夜天| 就要爱综合| 五月天激情网图片| 丁香五月花婷婷开心| 日韩精品电影| 久操热线| 人人妻久久妻| 就爱操www com| 91成人品| 五月花激情网| 丁香婷婷五月份| 日韩AAAAA| 六月婷婷久久大全| 千人斩操逼| 婷婷色五月激情| 欧美激情伊人| 99九九精品视频推荐| 成人丁香五月| 色欲丁香| 九色无码| 天天婷婷色六月| 六月香五月婷| 91狠狠色丁香婷婷综合久久精品| 免费成片在线观看| 五月天婷婷色播综合在线| 日本va欧美va国产激情| 大香线蕉伊人| 五月久久婷婷成人网| 丁香五月激情性色郤| 婷婷综合激情五月中文字幕| 丁香五月Av| 亚洲综合草草| 五月天丁香| 琪琪理论片| 开心色色五月天综合| 婷婷丁香人妻天天久久| 天天爽夜夜操| 天天色粽合合合合合合合| 99亚洲无码| 五月婷婷婷婷婷婷艺术| 激情婷婷五月女| 97人人草| 激情四射五月天| 丁香六月啪啪啪| 日本丁香久在线| 五月婷婷黄网站大全| 国产在线激情视频| 激情五月婷婷| 五月丁香激情综合网官网| 青青草原伊人网| 久久XX| 色狠狠婷婷| 操人久久| 丁香五月成人论坛| 五月天色丁香| 久久这里只有国产视频| 国产在线aaa片一区二区99| 新精品99| 五月天激情四射| 伊人网色婷婷五月天| 五月欧美丁香在线观看| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 另类视在线| 六月份天丁香婷婷| 永久地址 色| 婷婷五月激情在线| 婷婷涩五月天综合| 婷婷丁香综合成人| www·五月天| 久热这里只有精品99re,久热这里只有精品7| 99久热| 人人爽在线视频综合网| 天天弄天天爽| 久久6这里只有精品| 亚洲区,视频区,视频区免费| 综合激情婷婷| 久久这里这里有精品免费视频| 五月丁香啪啪啪| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 五月丁香花激情综合网| 亚洲午夜电影| 久久超级碰视频| 六月婷欧美| 激情综合啪啪| 色噜噜狠狠狠狠色综合久欧美| 大香焦A∨| 伍月婷丁香花全集| 任你艹| 日本在线wwww| 天天精品视频免费观看| 色五月丁香激情视频| 超碰不卡在线| 67194中文在线| 亚洲99在线| 五月丁香网站| 日本爆乳片手机在线播放| 九九这里是免费的视频5| 天天干天天插| 五月天操逼网| 丁香六月欧美| 国产精品久久久久9999小说 | 日韩人妻无码一区二区| 新99色色色色色色| 思思热久久婷婷五月天| 激情淫乱男女| 九九热在线视频观看| 激情五月天色婷婷| 丁香五月1页| 婷婷五月天首页激情| 97干干干丁香| 婷婷五月天av| 九九Av| 六月合五月婷| 五月丁香婷中文| 99热在线网站| 婷婷99视频全集高清| 天天插天天射| 亚洲色婷婷激情| 婷婷五月色播网| 亚洲中文字幕在线电影| 嫩草AV久久伊人妇女超级A| 色五月天在线观看| 丝袜人妻| 色丁香五月| 欧美日韩aaaa| 婷婷五月天国产手机在线视频观看| 嫩草视频在线观看| 九九综合色综合| 久人操| 伦99热| 超碰国产在线| 色丁香久久| 丁香六月婷| 草草视频91| 大香蕉婷婷丁香天堂AV| 亚洲人成色A777777在线观看| 狠狠色丁香| 26uuuuuuuu国产| 婷婷丁香黄色| 91精产品自偷自偷综合| 日本三日本三级少妇三级66| 色色色免费视频| 久久五月天网| 婷婷激情社区| 日本久久爱| 狠狠草狠狠草| 五月天色影院| 色五月激情网| 婷婷淫淫狠狠六月| 人妻内射麻豆视频| 超碰成人AV| 综合色婷婷| 婷婷伊人75| 日本WWW九九九| 91丁香五月| 嫩草视频在线观看| 日韩在线观看亚洲| 天堂在线9| 级情九色| 美女天天久久| 97色综合视频| 免费操超碰| 99热97美女| 丁香五月天成人| 久久久婷婷五月亚洲97号色| 99 这里只有精品| 亚洲热视频在线| 精品AV无码超碰| 天天插天天插天天日| 婷婷婷久久久| aa久久| 五月天婷综合| 丁香五月激情五月| 三人荫蒂添的好舒服A片| 丁香五月激情无码视频| 99亚洲无码| 男人天堂99| www.夜夜| 婷婷香蕉香| .肏屄视频一区二区| 久操97| 婷婷五月天在线看| 丁香五月婷婷啪| 久久成人天| 99精品网| 五月丁香综合激情| 亚洲成人AV电影在线| 色婷婷色和| 天天噜日日噜综合无码| 青草性爱视频| 五月丁香久人妻中文| 色久五月| 色播播五月天| 婷婷色综合| 亚洲图色五月天| 乱码操操| 五月丁香六月婷婷综合伊人| 综合久久99| 99精品视频免费观看| 91男同视频| 碰碰人人漕| 激情99热| 狠狠色噜噜狠狠狠狠综合| 婷婷五月天开心网| 日本色色色| 98热精品| 色狠狠999综合网| 深爱激情丁香| 狠狠操天天干| 在线sebiav精品视频| 日本少妇AA一级特黄大片| enecarbon-materials.com污K127封锁请涟系@wip1688 | 天天色丁香| 狠狠干激情五月| 操逼巨乳91| 日本不卡一区二区三区| 欧美天天搞| 永久思思热在线| 热久久视频99| 99精品久久久久久久婷婷| 伊久大香蕉| 色欲婷婷五月天丁香| 九九精品在线视频观看| 五月色天情| 色色五月婷婷| 婷婷丁香色女人| 久思思热视频在线观看| 五月丁香六月花| 99热97| 中文网婷婷字幕婷| 久久精品99国产精品日本| 超碰人人在线| 成人综合AV| 变态另类9| 久久只有18视频| 成人五月天综合网| 五月婷视屏在线观看| 久久久久久久91| va亚洲中文在线| 婷婷伊人久久| 九九精品在线视频观看| 亚洲色五月| 婷婷五月天激情在线观看 | WWW.桔色成人.COM| 99综合自拍| 国产精品成人在线| 视频这里只有精品| 五月综合久久| 五月丁香综合激情在线观看| 极品人妻VIDEOSSS人妻| 久久婷婷综合网| 狠狠色成人影片| 婷婷5月天激情综合| 久热超碰| 丁香六月天婷婷色| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 亚洲六月婷婷| 天天爱综合网| 噼里啪啦完整版中文在线观看| 丁香五月手机视频| 亚州精品久久久久AV无码| 婷婷久久综合| 激情图片久久| 99re视频在线| 久久伊人五月天| 婷婷国产五月天17c| 99热综合| 久久久99视频| 色www99| 无码激情精品色婷婷久久久久| 99啪啪视频| 九九99热| 五月色综合| 激情五月天的婷婷| 婷婷五月激情图片| 亚洲综合欧美色丁香婷婷888月图片| 欧美色六月婷婷| AA片在线观看视频在线播放| 成人短视频在线免费观看| 天天操夜夜橾| 中文字幕婷婷在线| 日韩九九| www99xxxx五月丁| 五月婷婷熟女| 玖玖爱伊人网| 一区二区三区四区无码| 91人久| 色婷婷a三区麻| 久草天堂| 啪啪五月综合| 五月天婷婷色| 激情久久久久久久久久久| 九九无码| 丁香熟女乱| 狠狠色丁香婷婷久久综合| 亚洲一区二区无遮挡A片| 丁香六月激情综合| 婷婷丁香五月天激情四射| 中文字幕性爱丰满| www.婷婷com| 五月天激情久久| 婷婷久久18| 99久在线观看| 丁香五月婷婷色| 日日日日日| 人人人操97| 99综合成人视频在线观看| h在线看免费版在线看| 六月婷婷激情图片| 亚洲综合激情五月久久| 色婷婷成人丁香| 久久AAAA片一区二区| 亚洲激情精品| 五月天色色色色色| 久久婷婷丁香| 思思久久99热| 天天色视频| 婷婷五月天色综合翘| 少妇高潮呻吟A片免费看软件| 五月婷婷啪啪网| 一本色道久久综合狠狠躁一二三| 五月丁香五月婷婷在线观看| 色婷婷丁香五月| 操人久久| 国产精品激情五月天色婷婷| 九九碰九九爱97| 丁香六月婷婷开心婷婷网| 99网| 亚洲99综合| 五月婷婷六月丁香色| 99热精品在线播放观看| 麻豆精品| 日本V在线观看不卡视频网站| 五月色色色| 久久激情网| ...婷婷国产成人亚洲日韩| 啪啪操超碰| 久久日本wwww色| 嫩草AV久久伊人妇女超级A| 婷婷五月综合色拍| 五月花亭亭| 婷香五月网在线| 亚洲综合网 665566| 99在线看片| 中文成人在线| 五月天激情久久| 91精品国产99久久久久久天美| 久久九九蜜| 涩涩五|