免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

C++映射與排序?qū)崙?zhàn):從足球積分統(tǒng)計(jì)到通用聚合排序模式

C++映射與排序?qū)崙?zhàn):從足球積分統(tǒng)計(jì)到通用聚合排序模式 1. 從一道實(shí)訓(xùn)題看透映射與排序的組合拳這道題我第一次看到的時(shí)候腦子里蹦出來(lái)的不是足球而是“這不就是典型的統(tǒng)計(jì)聚合加排序輸出嗎”。題目背景是歐洲冠軍聯(lián)賽給出一堆比賽結(jié)果需要統(tǒng)計(jì)每支球隊(duì)的積分、凈勝球等數(shù)據(jù)最后按規(guī)則排出名次。核心操作就兩件事用映射結(jié)構(gòu)把球隊(duì)和它的統(tǒng)計(jì)數(shù)據(jù)關(guān)聯(lián)起來(lái)再把映射里的內(nèi)容轉(zhuǎn)存到順序容器里做排序。聽(tīng)起來(lái)簡(jiǎn)單但真動(dòng)手寫(xiě)的時(shí)候坑比想象中多。為什么這道題值得單獨(dú)拿出來(lái)聊因?yàn)樗鼛缀醺采w了日常開(kāi)發(fā)中最常見(jiàn)的一類(lèi)需求按某個(gè)維度聚合數(shù)據(jù)再按另一個(gè)維度排序輸出。比如統(tǒng)計(jì)每個(gè)用戶(hù)的訂單總額然后按金額排名統(tǒng)計(jì)每個(gè)接口的調(diào)用次數(shù)然后按次數(shù)排序統(tǒng)計(jì)每個(gè)商品的銷(xiāo)量然后按銷(xiāo)量展示。這些場(chǎng)景的本質(zhì)和這道題一模一樣。你把這套“映射聚合加順序排序”的套路吃透了以后遇到類(lèi)似需求基本就是換個(gè)字段名的事。這篇文章我會(huì)從設(shè)計(jì)思路、核心細(xì)節(jié)、完整實(shí)操、常見(jiàn)問(wèn)題四個(gè)層面把它拆干凈。不管你是剛學(xué)容器的新手還是已經(jīng)寫(xiě)過(guò)不少代碼但想看看別人怎么組織這類(lèi)邏輯的老手應(yīng)該都能找到有用的東西。代碼我會(huì)用C寫(xiě)因?yàn)檫@道題本身就是C實(shí)訓(xùn)題映射和向量也是C里最常用的兩個(gè)容器。但思路是通用的換成其他語(yǔ)言一樣成立。2. 整體設(shè)計(jì)與思路拆解2.1 為什么選映射而不是數(shù)組或哈希先想一個(gè)問(wèn)題球隊(duì)名字是字符串不是數(shù)字。如果用數(shù)組來(lái)存你得先給每支球隊(duì)分配一個(gè)編號(hào)然后維護(hù)一張“名字到編號(hào)”的對(duì)照表。這多了一層間接代碼寫(xiě)起來(lái)啰嗦讀起來(lái)也費(fèi)勁。映射結(jié)構(gòu)天然就是干這個(gè)的——它把“鍵”和“值”直接關(guān)聯(lián)起來(lái)鍵是球隊(duì)名值是這支球隊(duì)的統(tǒng)計(jì)數(shù)據(jù)。你拿到一個(gè)球隊(duì)名直接就能找到它的數(shù)據(jù)不需要任何中間轉(zhuǎn)換。那為什么不用無(wú)序映射呢?zé)o序映射的底層是哈希表查找效率理論上更高但它不保證順序。這道題最后要排序輸出順序反正要重新排用無(wú)序映射似乎也行。但實(shí)際寫(xiě)的時(shí)候你會(huì)發(fā)現(xiàn)有序映射的鍵本身就是按字典序排列的在某些中間步驟里比如調(diào)試打印看起來(lái)更直觀。而且這道題的數(shù)據(jù)量很小有序映射的查找開(kāi)銷(xiāo)完全可以忽略。所以選有序映射更多是出于代碼可讀性和調(diào)試便利性的考慮性能差異在這個(gè)場(chǎng)景下可以忽略不計(jì)。提示如果你在實(shí)際項(xiàng)目中處理的是海量數(shù)據(jù)且對(duì)查找性能有極致要求無(wú)序映射確實(shí)更合適。但一定要記住無(wú)序映射的鍵類(lèi)型需要提供哈希函數(shù)自定義類(lèi)型的話(huà)還得自己寫(xiě)哈希和相等比較這是額外的成本。2.2 值類(lèi)型的設(shè)計(jì)結(jié)構(gòu)體還是嵌套映射映射的值存什么有兩種常見(jiàn)做法。一種是把球隊(duì)的所有統(tǒng)計(jì)數(shù)據(jù)打包成一個(gè)結(jié)構(gòu)體映射的值就是這個(gè)結(jié)構(gòu)體。另一種是用嵌套映射比如外層映射的鍵是球隊(duì)名值又是一個(gè)映射里面存“積分”“凈勝球”這些字段。兩種做法都能跑通但我強(qiáng)烈建議用結(jié)構(gòu)體。原因很簡(jiǎn)單結(jié)構(gòu)體的字段是編譯期確定的訪(fǎng)問(wèn)速度快代碼提示友好寫(xiě)起來(lái)也清晰。嵌套映射雖然靈活但每次訪(fǎng)問(wèn)都要經(jīng)過(guò)兩次查找而且字段名是字符串寫(xiě)錯(cuò)了編譯器不會(huì)報(bào)錯(cuò)運(yùn)行時(shí)才發(fā)現(xiàn)問(wèn)題。這道題的統(tǒng)計(jì)字段是固定的——積分、凈勝球、進(jìn)球數(shù)——沒(méi)有任何理由用嵌套映射。結(jié)構(gòu)體定義清楚后面所有操作都圍繞這個(gè)結(jié)構(gòu)體展開(kāi)邏輯一目了然。2.3 排序策略為什么必須轉(zhuǎn)存到順序容器映射本身是不支持按值排序的。它的排序規(guī)則只針對(duì)鍵而且是你插入時(shí)就定好的有序映射按字典序無(wú)序映射根本不保證順序。但題目要求按積分、凈勝球等字段排名這些都在值里面。所以你必須把映射里的元素“搬”到一個(gè)支持自定義排序的容器里也就是順序容器。轉(zhuǎn)存的過(guò)程很簡(jiǎn)單遍歷映射把每個(gè)鍵值對(duì)塞進(jìn)順序容器。但這里有個(gè)細(xì)節(jié)——順序容器里存什么如果只存球隊(duì)名排序的時(shí)候還得回頭去映射里查數(shù)據(jù)多一次查找不說(shuō)代碼也繞。更好的做法是把球隊(duì)名和統(tǒng)計(jì)數(shù)據(jù)一起打包存進(jìn)去排序時(shí)直接比較結(jié)構(gòu)體里的字段。這樣排序邏輯自包含不依賴(lài)外部映射既清晰又高效。轉(zhuǎn)存之后用排序算法配合自定義比較函數(shù)就能按任意規(guī)則排列了。比較函數(shù)的寫(xiě)法是這道題的核心考點(diǎn)之一后面會(huì)詳細(xì)展開(kāi)。3. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)3.1 統(tǒng)計(jì)數(shù)據(jù)的字段設(shè)計(jì)與計(jì)算邏輯先明確要統(tǒng)計(jì)哪些數(shù)據(jù)。足球比賽里一支球隊(duì)的排名依據(jù)通常是積分、凈勝球、進(jìn)球數(shù)。積分規(guī)則是勝一場(chǎng)得3分平一場(chǎng)得1分負(fù)一場(chǎng)得0分。凈勝球是總進(jìn)球數(shù)減去總失球數(shù)。這些字段需要在結(jié)構(gòu)體里定義清楚。struct TeamStats { string name; int points 0; // 積分 int goalsFor 0; // 進(jìn)球數(shù) int goalsAgainst 0; // 失球數(shù) int goalDiff 0; // 凈勝球 };注意我給每個(gè)字段都設(shè)了默認(rèn)值0。這是一個(gè)小習(xí)慣但能避免很多問(wèn)題。如果不設(shè)默認(rèn)值結(jié)構(gòu)體成員就是未初始化的隨機(jī)值后面累加的時(shí)候結(jié)果就全錯(cuò)了。這種錯(cuò)誤特別隱蔽因?yàn)榫幾g器不會(huì)報(bào)錯(cuò)運(yùn)行時(shí)數(shù)據(jù)看起來(lái)也“像那么回事”但就是不對(duì)。我踩過(guò)這個(gè)坑排查了半天才發(fā)現(xiàn)是初始化的問(wèn)題。計(jì)算邏輯很直接每讀入一場(chǎng)比賽拿到主隊(duì)名、客隊(duì)名、主隊(duì)進(jìn)球、客隊(duì)進(jìn)球。然后分別更新兩支球隊(duì)的數(shù)據(jù)。主隊(duì)進(jìn)球數(shù)加上主隊(duì)進(jìn)球失球數(shù)加上客隊(duì)進(jìn)球客隊(duì)反過(guò)來(lái)。積分根據(jù)勝負(fù)關(guān)系來(lái)加。凈勝球可以在所有比賽處理完之后統(tǒng)一算也可以每次更新。我傾向于最后統(tǒng)一算因?yàn)閮魟偾蚴沁M(jìn)球減失球每次更新反而多一次計(jì)算。3.2 映射的插入技巧下標(biāo)訪(fǎng)問(wèn)與插入的區(qū)別往映射里添加球隊(duì)數(shù)據(jù)時(shí)有兩種寫(xiě)法。一種是直接用下標(biāo)訪(fǎng)問(wèn)比如teams[name].points 3。另一種是先用查找函數(shù)判斷是否存在不存在就插入存在就更新。兩種寫(xiě)法都能用但行為有細(xì)微差別。下標(biāo)訪(fǎng)問(wèn)的語(yǔ)義是如果鍵存在返回對(duì)應(yīng)的值如果不存在自動(dòng)創(chuàng)建一個(gè)默認(rèn)值并返回。這意味著你不需要手動(dòng)判斷球隊(duì)是否第一次出現(xiàn)直接下標(biāo)訪(fǎng)問(wèn)就能自動(dòng)初始化。對(duì)于這道題來(lái)說(shuō)這個(gè)特性非常方便因?yàn)槊恐蜿?duì)第一次出現(xiàn)時(shí)數(shù)據(jù)都是零正好是默認(rèn)值。但下標(biāo)訪(fǎng)問(wèn)有個(gè)潛在問(wèn)題它會(huì)無(wú)條件創(chuàng)建新元素。如果你只是想查詢(xún)而不想插入用下標(biāo)訪(fǎng)問(wèn)就會(huì)意外地往映射里塞數(shù)據(jù)。這道題里不存在這個(gè)問(wèn)題因?yàn)槊看蜗聵?biāo)訪(fǎng)問(wèn)都是確實(shí)要更新數(shù)據(jù)。但在其他場(chǎng)景下要小心查詢(xún)用查找函數(shù)更新用下標(biāo)訪(fǎng)問(wèn)分清楚。注意下標(biāo)訪(fǎng)問(wèn)的鍵類(lèi)型必須支持默認(rèn)構(gòu)造。對(duì)于字符串鍵來(lái)說(shuō)這沒(méi)問(wèn)題但如果鍵是自定義類(lèi)型得確保它有默認(rèn)構(gòu)造函數(shù)否則編譯不過(guò)。3.3 轉(zhuǎn)存與排序比較函數(shù)的寫(xiě)法與陷阱轉(zhuǎn)存就是遍歷映射把每個(gè)鍵值對(duì)推進(jìn)順序容器。代碼很簡(jiǎn)單vectorTeamStats ranking; for (auto pair : teams) { ranking.push_back(pair.second); }注意這里我直接存了結(jié)構(gòu)體沒(méi)有存鍵值對(duì)。因?yàn)榻Y(jié)構(gòu)體里已經(jīng)有球隊(duì)名了不需要額外存鍵。如果你用的結(jié)構(gòu)體里沒(méi)有名字字段那就得存鍵值對(duì)排序時(shí)從鍵值對(duì)里取名字。兩種方式都行看你的結(jié)構(gòu)體設(shè)計(jì)。排序的比較函數(shù)是重點(diǎn)。題目要求的排序規(guī)則通常是先按積分降序積分相同按凈勝球降序凈勝球相同按進(jìn)球數(shù)降序。如果還相同可能按球隊(duì)名字典序升序。這個(gè)優(yōu)先級(jí)順序不能搞錯(cuò)否則排名就不對(duì)。sort(ranking.begin(), ranking.end(), [](const TeamStats a, const TeamStats b) { if (a.points ! b.points) return a.points b.points; if (a.goalDiff ! b.goalDiff) return a.goalDiff b.goalDiff; if (a.goalsFor ! b.goalsFor) return a.goalsFor b.goalsFor; return a.name b.name; });這個(gè)比較函數(shù)看起來(lái)直白但有兩個(gè)容易出錯(cuò)的地方。第一降序用大于號(hào)升序用小于號(hào)別搞反了。第二比較函數(shù)必須滿(mǎn)足嚴(yán)格弱序也就是說(shuō)不能出現(xiàn)“a小于b且b小于a”的情況。上面這個(gè)寫(xiě)法是鏈?zhǔn)降拿恳粚佣寂懦讼嗟鹊那闆r所以是安全的。但如果你寫(xiě)成return a.points b.points那就破壞了嚴(yán)格弱序排序算法可能崩潰或者產(chǎn)生未定義行為。這個(gè)坑很多人踩過(guò)而且癥狀很詭異——有時(shí)候能跑有時(shí)候直接段錯(cuò)誤。3.4 輸入解析的細(xì)節(jié)如何處理比賽結(jié)果輸入格式通常是每行一場(chǎng)比賽包含主隊(duì)名、客隊(duì)名、主隊(duì)進(jìn)球、客隊(duì)進(jìn)球。用輸入流直接讀就行string home, away; int homeGoals, awayGoals; while (cin home away homeGoals awayGoals) { // 更新數(shù)據(jù) }但要注意有些題目的輸入可能包含額外的空格或換行用輸入流讀取會(huì)自動(dòng)跳過(guò)空白字符所以一般沒(méi)問(wèn)題。如果輸入格式更復(fù)雜比如用冒號(hào)分隔比分那就得用字符串流或者手動(dòng)解析。這道題是實(shí)訓(xùn)題輸入格式通常很規(guī)整直接讀就行。更新數(shù)據(jù)的邏輯teams[home].name home; teams[home].goalsFor homeGoals; teams[home].goalsAgainst awayGoals; teams[away].name away; teams[away].goalsFor awayGoals; teams[away].goalsAgainst homeGoals; if (homeGoals awayGoals) { teams[home].points 3; } else if (homeGoals awayGoals) { teams[away].points 3; } else { teams[home].points 1; teams[away].points 1; }凈勝球在所有比賽處理完后統(tǒng)一計(jì)算for (auto pair : teams) { pair.second.goalDiff pair.second.goalsFor - pair.second.goalsAgainst; }這里用引用遍歷直接修改映射里的值。如果用值遍歷改的是副本原數(shù)據(jù)不變這是個(gè)常見(jiàn)錯(cuò)誤。4. 完整實(shí)操流程與代碼實(shí)現(xiàn)4.1 從零搭建代碼框架先把整體框架搭出來(lái)再往里填細(xì)節(jié)。這樣寫(xiě)代碼不容易亂也方便調(diào)試。#include iostream #include map #include vector #include string #include algorithm using namespace std; struct TeamStats { string name; int points 0; int goalsFor 0; int goalsAgainst 0; int goalDiff 0; }; int main() { mapstring, TeamStats teams; string home, away; int homeGoals, awayGoals; // 讀取比賽數(shù)據(jù) while (cin home away homeGoals awayGoals) { // 更新主隊(duì)數(shù)據(jù) teams[home].name home; teams[home].goalsFor homeGoals; teams[home].goalsAgainst awayGoals; // 更新客隊(duì)數(shù)據(jù) teams[away].name away; teams[away].goalsFor awayGoals; teams[away].goalsAgainst homeGoals; // 更新積分 if (homeGoals awayGoals) { teams[home].points 3; } else if (homeGoals awayGoals) { teams[away].points 3; } else { teams[home].points 1; teams[away].points 1; } } // 計(jì)算凈勝球 for (auto pair : teams) { pair.second.goalDiff pair.second.goalsFor - pair.second.goalsAgainst; } // 轉(zhuǎn)存到向量 vectorTeamStats ranking; for (auto pair : teams) { ranking.push_back(pair.second); } // 排序 sort(ranking.begin(), ranking.end(), [](const TeamStats a, const TeamStats b) { if (a.points ! b.points) return a.points b.points; if (a.goalDiff ! b.goalDiff) return a.goalDiff b.goalDiff; if (a.goalsFor ! b.goalsFor) return a.goalsFor b.goalsFor; return a.name b.name; }); // 輸出 for (const auto team : ranking) { cout team.name team.points team.goalDiff team.goalsFor endl; } return 0; }這段代碼可以直接編譯運(yùn)行。輸入格式是每行四個(gè)值主隊(duì)名、客隊(duì)名、主隊(duì)進(jìn)球、客隊(duì)進(jìn)球。程序會(huì)持續(xù)讀取直到輸入結(jié)束然后輸出排名。4.2 關(guān)鍵步驟的參數(shù)選擇與計(jì)算過(guò)程排序規(guī)則里的優(yōu)先級(jí)順序不是隨便定的。積分排第一因?yàn)榉e分是勝負(fù)的直接體現(xiàn)最能反映球隊(duì)的整體表現(xiàn)。凈勝球排第二因?yàn)榉e分相同時(shí)凈勝球多的球隊(duì)通常進(jìn)攻更強(qiáng)或防守更好。進(jìn)球數(shù)排第三因?yàn)閮魟偾蛳嗤瑫r(shí)進(jìn)球多的球隊(duì)進(jìn)攻火力更猛。最后按名字字典序純粹是為了在極端情況下有一個(gè)確定的順序避免輸出不穩(wěn)定。這個(gè)優(yōu)先級(jí)順序和真實(shí)足球聯(lián)賽的排名規(guī)則基本一致。如果你在開(kāi)發(fā)其他排名系統(tǒng)比如電商商品排序優(yōu)先級(jí)可能是銷(xiāo)量降序、評(píng)分降序、價(jià)格升序。邏輯是一樣的只是字段不同。比較函數(shù)里的每一層判斷都不能省。如果只寫(xiě)積分比較積分相同的球隊(duì)順序就是隨機(jī)的每次運(yùn)行結(jié)果可能不一樣。這在調(diào)試時(shí)特別讓人抓狂因?yàn)槟銜?huì)以為代碼有問(wèn)題其實(shí)是排序不穩(wěn)定導(dǎo)致的。加上完整的比較鏈之后輸出就是確定的方便驗(yàn)證。4.3 調(diào)試與驗(yàn)證方法寫(xiě)完代碼別急著提交先自己造幾組數(shù)據(jù)驗(yàn)證。最簡(jiǎn)單的測(cè)試是兩支球隊(duì)打一場(chǎng)主隊(duì)贏。預(yù)期結(jié)果是主隊(duì)3分排第一客隊(duì)0分排第二。然后測(cè)試平局兩隊(duì)各1分凈勝球都是0進(jìn)球數(shù)相同按名字排序。再測(cè)試多支球隊(duì)多場(chǎng)比賽手動(dòng)算一下預(yù)期結(jié)果和程序輸出對(duì)比。如果結(jié)果不對(duì)先檢查數(shù)據(jù)更新邏輯。最常見(jiàn)的錯(cuò)誤是主客隊(duì)數(shù)據(jù)搞反了比如把主隊(duì)的失球加到了客隊(duì)頭上。另一個(gè)常見(jiàn)錯(cuò)誤是積分規(guī)則記錯(cuò)了比如平局給了3分。這些錯(cuò)誤通過(guò)簡(jiǎn)單的測(cè)試數(shù)據(jù)就能發(fā)現(xiàn)。調(diào)試的時(shí)候可以在關(guān)鍵步驟打印中間結(jié)果比如每場(chǎng)比賽后打印所有球隊(duì)的數(shù)據(jù)或者排序前打印向量里的內(nèi)容。這樣能快速定位問(wèn)題出在哪個(gè)環(huán)節(jié)。不過(guò)記得提交前把調(diào)試輸出刪掉不然會(huì)影響判題。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 排序結(jié)果不穩(wěn)定或順序錯(cuò)亂這是最常見(jiàn)的問(wèn)題通常有兩個(gè)原因。一是比較函數(shù)寫(xiě)錯(cuò)了比如降序用了小于號(hào)或者比較鏈不完整。二是轉(zhuǎn)存的時(shí)候漏了數(shù)據(jù)比如遍歷映射時(shí)用了錯(cuò)誤的迭代方式。排查方法先檢查比較函數(shù)的每一層邏輯確認(rèn)降序用大于號(hào)、升序用小于號(hào)。然后檢查轉(zhuǎn)存循環(huán)確認(rèn)遍歷的是映射的全部元素。可以在轉(zhuǎn)存后打印向量的大小和映射的大小對(duì)比看是否一致。還有一個(gè)隱蔽的問(wèn)題如果比較函數(shù)里用了引用但沒(méi)加常量修飾某些編譯器可能會(huì)報(bào)錯(cuò)或者行為異常。建議比較函數(shù)的參數(shù)用常量引用既避免拷貝又保證安全。5.2 映射下標(biāo)訪(fǎng)問(wèn)導(dǎo)致的意外插入前面提到過(guò)下標(biāo)訪(fǎng)問(wèn)會(huì)自動(dòng)創(chuàng)建不存在的鍵。如果你在查詢(xún)時(shí)用了下標(biāo)訪(fǎng)問(wèn)就會(huì)往映射里塞一堆空數(shù)據(jù)。這些空數(shù)據(jù)會(huì)參與后面的排序和輸出導(dǎo)致結(jié)果里出現(xiàn)莫名其妙的球隊(duì)。排查方法檢查所有映射訪(fǎng)問(wèn)確認(rèn)查詢(xún)用查找函數(shù)更新用下標(biāo)訪(fǎng)問(wèn)。如果發(fā)現(xiàn)映射的大小比預(yù)期大很可能就是這個(gè)問(wèn)題。提示C17之后可以用插入或賦值的接口來(lái)避免意外插入但下標(biāo)訪(fǎng)問(wèn)在更新場(chǎng)景下依然是最簡(jiǎn)潔的寫(xiě)法。關(guān)鍵是分清楚什么時(shí)候該用哪種。5.3 輸入讀取的死循環(huán)或提前結(jié)束輸入讀取的循環(huán)條件寫(xiě)不對(duì)可能導(dǎo)致死循環(huán)或者提前退出。比如用while (!cin.eof())作為條件這是典型的錯(cuò)誤寫(xiě)法。輸入流只有在嘗試讀取失敗后才會(huì)設(shè)置結(jié)束標(biāo)志所以循環(huán)會(huì)多執(zhí)行一次處理一份無(wú)效數(shù)據(jù)。正確的寫(xiě)法是直接用輸入操作作為循環(huán)條件while (cin home away homeGoals awayGoals)。這樣每次讀取成功才進(jìn)入循環(huán)讀取失敗自動(dòng)退出干凈利落。如果輸入格式里有特殊分隔符比如比分用冒號(hào)分隔那就得先用字符串讀整行再用字符串流解析。這種情況下循環(huán)條件要改成讀取整行然后判斷行是否為空。5.4 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方法解決方案排序順序不對(duì)比較函數(shù)邏輯錯(cuò)誤檢查每層比較的方向和優(yōu)先級(jí)降序用大于號(hào)升序用小于號(hào)補(bǔ)全比較鏈輸出多出未知球隊(duì)下標(biāo)訪(fǎng)問(wèn)意外插入打印映射大小與預(yù)期對(duì)比查詢(xún)用查找函數(shù)更新用下標(biāo)訪(fǎng)問(wèn)程序死循環(huán)輸入循環(huán)條件錯(cuò)誤檢查循環(huán)條件是否依賴(lài)輸入操作用輸入操作本身作為循環(huán)條件數(shù)據(jù)累加結(jié)果錯(cuò)誤結(jié)構(gòu)體未初始化檢查結(jié)構(gòu)體成員是否有默認(rèn)值給所有數(shù)值成員設(shè)默認(rèn)值0凈勝球計(jì)算錯(cuò)誤主客隊(duì)數(shù)據(jù)搞反打印每場(chǎng)比賽后的中間數(shù)據(jù)確認(rèn)主隊(duì)進(jìn)球加到主隊(duì)失球加到客隊(duì)編譯報(bào)錯(cuò)找不到符號(hào)缺少頭文件檢查包含的頭文件補(bǔ)上映射、向量、算法、字符串頭文件5.5 獨(dú)家避坑經(jīng)驗(yàn)第一個(gè)經(jīng)驗(yàn)結(jié)構(gòu)體里的球隊(duì)名其實(shí)可以省掉因?yàn)橛成涞逆I就是球隊(duì)名。但轉(zhuǎn)存到向量之后鍵就丟了所以結(jié)構(gòu)體里必須存一份名字。如果你不想在結(jié)構(gòu)體里存名字那就得把鍵值對(duì)一起轉(zhuǎn)存排序時(shí)從鍵值對(duì)里取名字。兩種方式都行但結(jié)構(gòu)體存名字更直觀。第二個(gè)經(jīng)驗(yàn)凈勝球可以在讀入比賽時(shí)實(shí)時(shí)更新不必等到最后統(tǒng)一算。實(shí)時(shí)更新的寫(xiě)法是主隊(duì)凈勝球加主隊(duì)進(jìn)球減客隊(duì)進(jìn)球客隊(duì)反過(guò)來(lái)。但這樣每次都要算一遍代碼稍微啰嗦。統(tǒng)一算的好處是邏輯集中不容易出錯(cuò)。我傾向于統(tǒng)一算。第三個(gè)經(jīng)驗(yàn)如果題目要求輸出格式很?chē)?yán)格比如球隊(duì)名左對(duì)齊、數(shù)字右對(duì)齊那就得用輸出格式控制。C里可以用輸出流的格式標(biāo)志來(lái)設(shè)置對(duì)齊和寬度。但實(shí)訓(xùn)題通常不要求這么細(xì)直接空格分隔就行。如果判題系統(tǒng)對(duì)格式敏感那就得仔細(xì)讀題目的輸出要求。第四個(gè)經(jīng)驗(yàn)映射的鍵是字符串時(shí)字典序比較是按字符編碼逐位比較的。大寫(xiě)字母在小寫(xiě)字母前面所以如果球隊(duì)名有大寫(xiě)有小寫(xiě)排序結(jié)果可能和你預(yù)期的不一樣。這道題里球隊(duì)名通常是統(tǒng)一的格式不太會(huì)遇到這個(gè)問(wèn)題。但如果遇到了可以在比較前統(tǒng)一轉(zhuǎn)成小寫(xiě)或大寫(xiě)。6. 從這道題延伸出的通用模式這道題表面上是足球排名實(shí)際上是一個(gè)通用的數(shù)據(jù)處理模式分組聚合、計(jì)算指標(biāo)、排序輸出。這個(gè)模式在開(kāi)發(fā)中出現(xiàn)的頻率極高幾乎每個(gè)項(xiàng)目都會(huì)遇到。比如電商系統(tǒng)里統(tǒng)計(jì)每個(gè)品類(lèi)的銷(xiāo)售額然后按銷(xiāo)售額排名展示。用戶(hù)行為分析里統(tǒng)計(jì)每個(gè)頁(yè)面的訪(fǎng)問(wèn)量然后按訪(fǎng)問(wèn)量排序。日志分析里統(tǒng)計(jì)每個(gè)接口的調(diào)用次數(shù)和平均耗時(shí)然后按耗時(shí)排序。這些場(chǎng)景的代碼結(jié)構(gòu)和這道題幾乎一模一樣只是字段名和計(jì)算邏輯不同。映射加向量的組合之所以這么常用是因?yàn)樗鉀Q了兩個(gè)核心問(wèn)題映射負(fù)責(zé)按維度聚合向量負(fù)責(zé)按指標(biāo)排序。兩者各司其職組合起來(lái)就能覆蓋絕大多數(shù)統(tǒng)計(jì)排序需求。你把這套模式練熟了以后遇到類(lèi)似需求基本就是套模板的事。如果要處理的數(shù)據(jù)量特別大比如上千萬(wàn)條記錄那可能要考慮更高效的數(shù)據(jù)結(jié)構(gòu)或者并行處理。但對(duì)于絕大多數(shù)業(yè)務(wù)場(chǎng)景來(lái)說(shuō)映射加向量的組合已經(jīng)足夠用了。性能瓶頸通常不在容器選擇上而在數(shù)據(jù)讀取和業(yè)務(wù)邏輯上。我在實(shí)際項(xiàng)目里用這套模式處理過(guò)日志統(tǒng)計(jì)、用戶(hù)排名、商品排序等多種需求代碼改動(dòng)量很小基本就是換個(gè)結(jié)構(gòu)體定義和比較函數(shù)。這也是為什么我覺(jué)得這道實(shí)訓(xùn)題值得認(rèn)真做——它練的不是足球排名而是一個(gè)能反復(fù)復(fù)用的編程套路。把這個(gè)套路吃透以后寫(xiě)類(lèi)似功能的時(shí)候你腦子里會(huì)有清晰的框架不用從頭摸索。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月天色色网| 色色色com| 久热这里这里有精品| 99这里只有| 五月青青草综合| 免费超碰在线观看| 99re久久| 亚洲无码色色| 思思热在线视频99| 色色综合色视频| 久久九九蜜| 99这里都是精品| 丁香五月婷婷综合网| 五月婷婷深深爱| 色欲人妻综合aaaaaaaa网| 91妻人人爽人人看片| 五月婷婷激情久久| 秋霞簧片| 亚洲 25P| 青青.com| 欧美影院婷婷| 久综合| 五月天激情综合| 情婷婷五月天| 婷婷激情5月| 精品国产a| 亚洲欧美成人在线| 超碰99在线| wwwC0maV五月花| 丁香五月色| 婷婷日本在线| 色www99| 狠狠色婷婷777| 天堂草在线观| 中文字幕 久久9999| 九九这里只有精品| 色999亚洲人成色| 99久久玖玖| caopeng超碰| 午夜婷婷久久| 99网址在线看| 91久久精品视频| www.五月天| 婷婷五月天国产在线播放| 天天色综合色| 日日操夜夜爽天天天| 欧美三级欧美一级| 五月婷婷激情网| 丁香五月激情五月| 久久综合综合综合| 国产亚洲99久久| 亚洲日比视频| 激情丁香五月天图片| 丁香激情综合| 激情五月天啪啪| 色婷婷五月天不卡| 天天狠狠夜夜狠狠2023| 99re在线视频| 97人人干人人操| 色婷婷五月色| 色色五月天婷婷| 久久久性爱视频| 五月天天天色| 色播五月综合网| 久久久这里有精品| 深夜男女福利刺激影院一区完整| 亚洲超碰在线| 男人先锋久久| 色五月综合97| 婷婷99狠狠| 九九激情综合| 亚洲综合干| 五月婷婷色丁香| 刘玥精品一区| 99ri视频在线观看| 亚洲超碰在线| 色插综合网| 精品99网站| 综合图区激情| 婷婷色导航| 久/久精品99看9| 密着浓厚中出乚交尾GvG935| 看全色黄大色大片| 激情五月亚洲综合网| 激情五月婷婷综合网| 新激情五月天色播| 久99视频在线观看| www.色五月| 少妇高潮呻吟A片免费看软件| 秋霞免费视频| 被男人添B超爽视频| 中文字幕黄色片| 国产69久久久欧美黑人A片| 五月停停丁香| YJLZZJLZZ亚洲乱熟无码| 五月婷婷色影院| 91超级碰| 亚洲视频在线观看区| 丁香婷婷婷五月综合色情| 久久久久久久久久久97| 天天综合永久| 五月天综合在线| 亚洲国产无线乱码在线观看| 久久婷婷五月天激情| 97色婷婷| 99热8| 色香蕉影院| 一本道在线电影| 色色色色色综合| 人妻熟妇国产精品| 亚洲AAA| 日本颜色视频人人爱| 九热免费视频| 国产色香蕉精品五夜婷| www.狠狠色.com| 精品久久艹| www.yw尤物| 亚洲精品一区无码A片| 影音先锋91视频| www.婷婷五月天.com| 五月情四婷婷| 激情综合五月天| 先锋影音av色五月天资源站| Se.婷婷五月天| 色五月中文网| 亚洲天堂有码| 五月丁香六月婷婷不卡免费无码| 天天干天天日天天操| 五月伊人91| 婷婷五月天久久久| 日本久久人| 1024在线一区| 久久996re热这里只有精品无码| 综合网啪| 成人精品人妻| 变态另类9| www九九免费视频| 色亚洲无码| 另类小说激情五月天| 九九热精品| 激情图片99| 亚洲综合色丁香婷婷六月| 六月婷婷激情图片| 九月丁香亭亭| 久久久999精品| 99re热视频这里只精品5| 国产偷人爽久久久久久老妇APP| 亚洲最大在线| 国产无套精品一区二区| 99热91| 五月天丁香| 九九九九热99超碰| 开心激情网在线| 最近中文字幕大全免费版在线 | 亚洲熟妇AV综合网五月丁香伊人| 一本大道嫩草AV无码专区| 久久伊人婷婷| 天天色视频| 久久五月天色婷婷| 丁香啪啪| 婷婷丁香六月五月天| 97碰啪啪| 丁香婷婷免费| 99色色| 天天激情综合| 亚洲狠狠爱婷婷| 狠狠干总合| 国产精品电影| 囯产精品一品二区三区| 色婷婷无吗| 婷婷中文字暮| 婷婷激情人妻| 五月激情影院| 99热这里只有精品69| 大地资源色婷婷视频在线| 久久杏爱视频| 97自拍视频网| 99热日| 亚洲AV第二区国产精品| 日本天天色| 色狠狠999综合网| 九九亚洲视频| 狠狠干综合网| 五月婷婷狠狠干| www.婷婷亚洲基地| 午夜理论片最新午夜理论剧| 色在线免费观看| 九九色综合九九色| jiujiu热在线视频| 丁香狠狠色婷婷久久无码视频| 五月天中文网| 香蕉婷婷色五月| 五月天激情四射| 无码色色色色色| 日本九九九九| 亚洲六月色| 欧美人人女女精品综合五月天| 超碰在线观看9| 丁香五月婷婷深五月| 9久精品| 五月永久激情| 激情婷婷在线中文字幕| 清纯唯美 激情四射| 婷婷夜夜操| A在线观看| 婷婷五月电影院| 五月丁香综合激情在线观看| 综合久久六月| 中文字幕日本最新乱码视频| www.99热在线观看| 激情综合色婷婷啪啪六月天| 色综合久| 91丨九色丨国产在线| www.五月.com| 亚洲操B| av在线超清中文| 99久久综合狠狠综合久久| 婷婷色综合| 激情5月舔| 日本三级99人妇网站| 日日噜噜夜夜狠狠久久丁香六月| 五月香六月婷| www·五月天| 啪啪夜久久| 国产亚洲精品AAAA片APP| 丁香五月另类小说| 色婷婷五月天成人网| 大香蕉娱乐| 综合激情五月天| 亚洲视频色婷婷| 日本va欧美va欧美va精品| 美女视频图片久久91| 色99视频| 午夜爱爱网站| 超碰在线综合| 可以免费观看的av| 婷婷视频在线| 亭亭社区五月天| 午夜天堂啪啪| 欧美亚洲成人在线| 色婷婷aV四虎| 狠狠爱丁香婷| 小香蕉av| wwwav大香蕉| 性爱视频久久| 99精彩视频| 激情第四色| 日韩AV色色色| 亚洲人人干| www久| 国产在线自| 色婷婷综合久久| 丁香五月婷婷五月| 激情五月综合| 国产熟妇的荡欲午夜视频| 婷婷另类小说| 欧美性猛交 XXXX 乱大交| 亚洲网站999| www激情五月天| 激情六月五月婷婷综合网| 97在线刺激| 亚洲啪啪精品| 久综合| 久久婷婷丁香视频网| 超碰99成人在线| 1024欧美看片| 亚洲人妻电影| 亚洲狠狠婷婷| 亚洲第一黄网| 翔田千里aV中文字幕| 五月欧美色播| www.日韩艹| 先锋男人99资源| 色亚洲视频| 丁香五月综合婷婷| 久久欧洲久久| 丁香五月婷婷激情123| 五月丁香综合伦理片| 日本无va视频| 亚洲婷婷性爱| 97操碰免费视频| 五月婷久草| 九九成年视频| 91丁香五月| 九九在线精点品| 日韩无码色色| 日韩欧美成人一区二区三区| 婷婷性爱综合| 996精品热视频| 9福利性视频欧美| 大香蕉99热| 色色色999| 综合天天综合| 99青青草| 九久9精品| 激情五月激情综合网| 超碰99在线观看| 午夜无码熟熟妇丰满人妻| 婷婷激情久久| 色婷久久| 激情婷婷综合五月少妇| 精品激情| 国产特黄色精品一区二区三区精品无广告| 色婷婷激情四射视频| 丁香五月香蕉| 热成人网| 99热这里只有精品免费| 婷婷五月激情欧美大胆视频| 婷婷玖玖五月天| 大香蕉综合网| 天天日天天干天天天| 天天操婷婷| 丁香五月天堂网| 国产精产国品一二三在观看 | 在线视频你懂得| 九月婷婷综合八月丁香在线观看| 五月丁香六月激情综合| 免费观看全黄做爰的视频| 婷婷丁香五月基地| 66久久视频在线| 综合激情深爱| 天天综合网站| 色婷婷瘦婷婷日韩| 伊人久久五月天| 丁香五月在线自慰| 91怕怕网| WWW、日本色丁香、co m| 狠狠搞狠狠操| 99cao婷婷| 超碰99在线观看| 九色色| 欧美成人精品A片免费一区99| 免费日本aⅴ中文字幕 | 五月天色婷婷伊人网| 亚洲色婷婷| 成人精品免费在线观看| 色婷婷五月天激情在线播放| 99热亚洲精品| 久久精品综合色| 日本九九热| 欧美精品999| 高清av在线国产| 亚洲精品乱码久久久久久综合| 五月婷婷天天| 丁香五月 性爱| 天天玩夜夜操天天爽| 久久久精品色色色| www.玖玖九| 国产人妻操逼| 日本色婷婷| HD久久精品视频| 久久有码| 亚洲网综合在线| 99热 在线观看| 国产.亚洲.欧洲视频在线| 色婷婷在线电影| 在线五月色播| 国精产品一区一区三区免费视频| 婷婷五月天伊人在线| 99视频精品全部免费 在线| 玖玖午夜视频| 啪啪色区| 色J香五月天| 99国产精品白浆在线观看免费| 97人人干人人操| www.天天干| 99视频在线啪| 美欧日韩国产成人在战| 亚洲综合色色| 狠狠草在线观看| 大香蕉五月天婷婷丁香91| 天天插插天天| 亚洲婷婷激情综合激情999精品| WWW、日本色丁香、co m| 五月丁香六月激情综合| 五月丁香啪啪激情| 琪琪色五月婷婷老师| 5月婷婷激情6月| 强壮的公次次弄得我高潮A片日本 | 丁香五月天导航| 97综合在线| 丁香五月天网站| 亚洲中文字幕av| 99精品久久久| 激情五月天噢美| 99久久99九九99九九九| WWW、日本色丁香、co m| 国产精品一区在线观看你懂的| av色婷婷| 国产精品国产成人国产三级| 天天久久综合| www.综合久久| 婷婷深爱五月天| 伊人五月天日日夜夜久久久天天| 草草夜夜操| 婷婷五月天a| 九月性爱网| 这里只有精彩视频| www.色综合| 九九热最新| 色噜噜狠狠色综合日日免费| 久久九九经典| 9+1视频网址| 97操操操| 97操碰人免费| 色婷操逼| 激情五月天免费视频| 色婷婷影视99| 激情性爱五月天| 九九九九九无码| 丁香99| 欧美日韩123| 婷婷欧美激情综合| 涩玖玖免费视频| 狠狠色婷婷7777久| 这里只精品热在线18| 99资源在线视频| 九九热在线精品视频| 婷婷五月丁香人妻无码高清| 五月天激情久久| AV天堂淫乩| 精品综合爱| 色色色网站| 色婷五月天激情| 六月丁香啪啪啪| 夜精品无码A片一区二区蜜桃| 欧美va在线| 色婷婷色99国产综合精品| 香蕉久久av一区二区三区 | 久久看婷婷| 小视频aaa久久久| 色婷婷五月丁香色| 91啪啪视频| 亚洲色优| 三十路磁力链接| 婷婷射图五月天| 久久婷婷综合五月| 激情五月天综合网| 67194中文字幕| 激情影院免费视频婷婷五月天| 91色在线| 五月丁香亭亭AV女优| 欧美激情五月天| 4399在线观看免费高清黄色视频| 久久久99精品免费观看| 99精品免费视频| 天天草天天摸| 色五狠狠| 婷婷激情五月综合丁香社| 成人综合视频在线| 久久国产高潮白浆免费观看99| 日本综合久久| 91狠狠色| 成人亚洲精品| 色综合中文| 99re热免费观看视频精品| 五月亭亭六月色| 一本色道久久综合狠狠躁小说| 久久精品一区二区三区四区| 开心五月综合激情综合五月| 美女亚洲五月丁香| 人人草公开操| 综合网色| 久久久18| 大香蕉520| 五月天激情四射网站| 麻豆AV一区二区三区| 天天日天天舔| 婷婷综合| 色综合99| 婷婷激情五月| 国产做A爰片毛片A片美国| 69精品人人人人| 色婷婷www| 久热亚洲| 亚洲天堂99| 丁香九月婷| w婷婷五月婷婷w| 久久总和99| 99九九视频| 这里只有精品在线观看视频| 超碰资源在线| 91丨九色丨白浆| 成人在线日韩欧美| 亚洲欧洲国产精品| 国产欧洲欧洲精品久久| 影视av久久久噜噜噜噜噜三级| 天天色天天日| 97操碰碰无码视频| 久久婷婷六月综合| WW婷婷五月天com| 90色免费视频| 九月激情综合婷婷| 久久久99久久| 大伊香蕉精品视频在线| 综合久久丁丁香婷| 日日操夜夜操无码免费| www久久99| 丁香五月在线视频| 激情久久综合网| 婷婷综合色播网| 亚洲综合色网| 五月婷婷五月天| 热久久这里只有精品| 亚洲第一成人无码A片| 五月综合人妻| 九热免费视频| 亚洲色婷婷99一9|| 可以直接看的av| 超碰人人艹| 日狠狠| 欧美成人猛片AAAAAAA| 婷婷五月天亚洲综合网| 久久久久9| 亚洲激情五月婷婷日日| 激情五月少妇| 综合五月婷婷| 五月丁香亭亭激情操逼网| 色婷婷最新域名 | 免费精品99| 91久久精品国产91性色TV| 无码少妇高潮喷水A片免费| 91五月花丁香| 人人干天天舔| 丁香五月婷婷黑人妻黄色电影院| 日日干干天天干| 色综合色色色色色| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月天色五月| 色色色9 9 9| 色婷五月婷婷| 91久久电影| 国产精品VIDEOSSEX久久发布| 久久综合9| 精品五月视频婷婷在线观看| 婷婷六月视频| 少妇性按摩无码中文A片| 97婷婷五月激情六月丁香伊人| 99热这里只有99| 熟女激情五月天| 五月天婷婷色综合| 97丁香五月| 99久久er| 日韩av干| 丁香六月激情综合| 一起草无码| 欧美3AaAa大片| 夜夜躁爽日日| 超碰色婷婷| www狠狠| 九色PORNY9l原创自拍| 91 原创 在线 九色| 久久婷婷五月综合色播| 色五月av| 久久精品婷婷| 一区二区乱码视频| 中文字幕婷婷在线| 婷婷五月花丁香| 国产欧美日韩综合精品一区二区| 色五月综合网| 丁香色五月 97干| 我想看国产大学生口爆吞精的视频| 五月情综合| 激情五月丁香五月| 亚洲av成人在线| 女人被男人吃奶到高潮| 碰碰碰91| 综合网激情| 亚洲色就是色色色| 九九一综合精品| 丁香九月激情| 色噜噜伊人| 777色色色| 欧美在线看| 99热思思| 国产中文字幕在线视频免费观看| 婷婷六月情| 黄色网址五月婷婷| 99热这里只有精品无码| 婷婷五月色播天| 欧洲日韩一区二区三区| 日日噜噜夜夜狠狠久久丁香五月| α久久| 中文字幕一色哟哟哟哟| 五月天另类小说久久小说网| 精品视频网| 色J香五月天| www.婷婷五月天,com| 79色色色色| 久久久五月天网站| 久久久五月五丁香| 天天骑日日爽| 色色五月天婷婷| 亚洲 激情 中文| 美国少妇性做爰| 九九热区一区二区三区| 丁香狠狠色婷婷久久无码视频| 欧美久久婷婷| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 色色色热热热| 婷婷五月情色| 91热在线观看视频| 婷婷综合亚洲| 天天天天天操| 久草婷| 丁香伊人网| 99久久综合网| 狠狠色综合777| 日韩熟女啪啪视频| 久久婷婷五月天激情四射| 五月丁香婷婷中文| 国产AV熟妇人震精品一品二区| 人人干天天操五月丁香| 丁香婷婷五月天成人| 影音先锋偷偷色男人站| 亚洲小视频免费看| 五月丁香婷久久| 超碰93在线观看| 人人干天天舔| 91日综合欧美| 91久久久久久久| 五月天激情社区| 99精品一二三四视频| 国产成人网站在线观看| 天干夜夜操| 色婷婷综合网| 婷婷五月天成人综合网| 五月丁香久| 色色色综合网| 丁香五月天中文字幕| 丁香五月性爱| 久久久久久婷| 可以免费观看的AV| 五月天久久91| 五月停停直播| 国产操B视频| 久久久亚洲精品一区二区三区浴池 | 91 影音先锋| 天天天天干| 丁香色六月| 国产亚洲色婷婷久久99精品9j| 六月丁香五月天| 五月开心深爱激情网| 久久五月天婷婷| 精品自拍99| 精品无码人妻一区| 五月天综合激情网| 日韩有码一区| 婷婷五月激情综合| 色色五月天婷婷丁香| 丁香五月亚洲无码| 大香蕉啪啪啪| 99亚洲精品视频| 日韩艹比| 久久99综合| 91色噜噜狠狠狠狠色综合| 99在线观看精彩视频| www.91婷婷| 壅壅儕家a| 欧美大片| 色吧综合网| 强伦轩人妻一区二区电影| 色婷婷九月综合| 日日操夜夜操狠狠操| 五月 成人 婷婷| 99视频极品在线香蕉| 丁香六月婷婷缴情欧美| 国产偷人爽久久久久久老妇APP | 人人视频人人干人人做| 丁香五月停停av| 久久五月婷综合网| 思思久久精品视频| 深爱五月婷婷开心中文字幕| 亚洲中文字幕AV| 久草狼人| 色婷婷综合视频| 99色视频| 色色五月婷婷网| 99riav 亚洲| 九九操屄| 2022久久婷婷| 99热九九在线| 71在线精品视频一区| 91人无码久久久久久| 婷婷五月天A V| 91九色首页| 激情综合五| 欧洲色色| 欧美S码亚洲码精品M码| 精品一二三区久久AAA片| 天天爽天天| 99热免费| 97人人操人人插| 国自产拍偷拍精品啪啪一区二区| 国产人妻777人伦精品HD| www.婷婷| 91夫妻网站九色| 热日韩欧美| 亚洲啪| 久久99免费视频网站| 黄色短视频在线观看| 密视AV综合在线| 99男人的天堂| 色八月婷婷| 思思久久96热在精品国产,| 新五月天婷婷激情电影| 99热这里全是精品| 午夜九九九九九九九九九九九九九| 操九色| 色五月综合在线| 激情色色| www.亚洲激情.com| 性色av大香综合| 猫咪伊人久久| 五月总合激情网| 色久免费| 99视频内射三四| chaopengdaxiangjiao| 亚洲人妻电影| va中文资源在线观看| 天天日天天爽夜夜爽| 丁香五月人妻| 五月婷婷丁香综合,亚洲天堂| 亚洲啪啪啪啪| 五月婷婷开心丁香| 99热免| 丁香婷婷五月天成人| 亚洲综合99| 日韩操逼小电影| www.久久| 久热爱大香蕉在线蜜臀悦色 | 婷婷色五月久久| 日本婷久久| 精品二区| www.av视频xx999.com| 五月丁香六月激情欧美综合| 激情五月天网站| 狠狠干综合网| 色五XX| 丁香五月色情| 欧美在线97| 99色最新在线视频网站| 婷婷色导航| 99啪| 久久99免费视屏| 婷婷丁香五另类网站| 九九热av| 色色色色色五月| 99精品视频免费观看,| 中文字幕在线播放视频| 91久草五月天婷婷| 五月婷AV| 91精品国产综合久久久不卡电影| 99热超碰| 久久9精品| 99热69| 婷婷夜夜操| 欧美槡BBBB槡BBB少妇| 男人的天堂999| 色噜噜狠狠色综合成人99| 丁香婷婷综合影院| 欧美激情-区二区三区| 国产XXXX搡XXXXX搡麻豆| 久久99热这里只有精品首| 99爽视频| 国内一级精品| 99色五月| 色婷婷777狠狠| www.五月天婷婷| 国产色99| 99热在线观看免费精品| 大香伊人婷婷| www激情| 97香蕉人人在线观看| 婷婷色成人| 1024人妻无码中文字幕| 久久A区B区| 综合另类激情| 天天激情| 欧美色色色色色色| 9有码中文| 色五月天综合网| 在线成人国产| 婷香五月激情视频| 99热销国产这里有精品| 免费播放片大片| 色五月成人| 九月丁香婷婷| 99热婷婷| 99.色| 97超级碰| 五月丁香香蕉| 站长推荐无码播放| 亚洲操操| 五月丁香六月婷婷在线小说视频| 亚洲精品久久久久久久久久飞鱼| 色婷婷五月天小说网| 影音先锋AV男人站| 成人AV中文字幕| 五月天社区| 亚州美女| 色色色成人网| 日韩精品999| 99无码视频| 色六月天| 97电影99热| 久色激情| 婷婷五月深爱五月| 色色五月天丁香婷婷| 激情五月天视频| 久久96热| 991国产精选视频在线播放下载| 久久激情网| 奸逼视频| 中文字幕五月久久婷| 色播丁香| 思思久久青草热| 亚洲一区国产传媒| 99热久久这里只有精品| 五月婷婷六月丁香综合| 99综合免费视频| 狠狠干五月| 婷婷五月精品中文字幕| 99免费超碰在线| 色五月婷婷九月| 亚洲婷婷五月天综合| 操逼视频网址| 久久丁香| 五月天国产婷婷精品视频在线| 97碰| 天堂二区| 99在线观看精品视频| 五月婷婷丁香色播网| 九九热啪啪| 婷婷五月激情基地| 99re思思久久| 九九热免费| 有码人妻久久| 六月婷婷综合激情| 日本色99网站| 狠狠狠狠狠狠| 激情五月天婷婷| 五月色情网| 91超碰在线播放| 香港九九六区八区99| 天天色综网| 99性色| 丁香五月AV综合激情| 久久99综合网| 久久日本wwww色| 少妇人妻人伦A片| 大香蕉啪啪| 五月婷婷色激情| 操笔无码| 久婷久婷| 丁香五月婷婷啪啪| 无码人妻精品一区二区蜜桃色欲| 美女激情婷婷| 清色五月天| 丁香狠狠操| 婷婷五月天色色| 激情婷婷五月| 色五月丁香五月婷婷五月成人网| 日本久久精品18| 亚洲激情综| 电影爱拉战争免费观看| 伊人五月天| 亚洲午夜电影| 欧美va在线| 色色色色色色97| 五月婷婷五月天激情视频| 第五婷婷伊人丁香色| 综合激情九月婷婷,激情综合婷婷中文字| 日本片日本片祼观看网站在线看中文版网页在线看 | 久久久久er热| 色婷婷综合网站| 呦呦v线| 九九激情网| 7超碰自拍| 99精品在线观看视频| 亚洲AV永久无码影院黑人| 婷婷五月天综合亚洲| 大陆极品少妇内射AAAAAA| 99性视频| 五月天综合在线| 色丁香五月婷婷| 狠狠色成人影片| 夜夜操天天干| 99精品色| 九九久久精品| 五月综合久久| 大陆极品少妇内射AAAAAA| 亚洲精品V天堂中文字幕| 99热18| 国产精品人人做人人爽人人添 | 亚洲啪啪精品| 色五月天成人| 五月婷婷五月丁香| 五月天色婷婷综合| 婷婷五月天亚洲综合| 五月天婷婷色色网| 丁香五月色色| 激情五月天婷婷五月天| 亚洲色色色| 五月天综合网| 日本4399天堂中出| 亚洲传媒在线观看| 色色五月丁香婷婷综合| 91九色精品| 色婷婷导航| 色六月天天激情综合网| 五月天婷婷色播| 99热九九在线| 九九热视频这里只有精品| 天堂综合久| 色综合天天综合成人网| 国产精品99久久久久久久女警| 国外亚洲成AV人片在线观看| 碰人人97| 人妻九九九九| 欧洲亚洲免费视频9| 丁香五月婷婷天| 五月丁香综合网| 激情久久久| 9热网站| 99超碰在线免费| 91超碰在线观看| 婷婷黄色五月天在线视频| 五月激情黄色小说| 激情五月婷黄版| 99热在这里只有免费精品| 婷婷激情鹿城五月天| 免费观看的婷婷五月视频在线| 色婷婷狠| 少妇人妻丰满做爰XXX| 五月综合激情图片| 久久99久久99久久99人受| 亚洲五月天综合| 精品久久这里热66| www激情| 婷婷五月天丁香久久| 色色丁香五月天| 狠狠狠狠狠操| 久月婷婷| 操日本99| 五月婷婷色| 日本久久爱| 久久久久久人妻| 99热在线播放精品| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 色色网站| 1024在线观看免费视频| 婷婷精品| www激情| 五月色综合| Caop在线| 成人.在线日韩| 熟女网站久久| 五月综合缴情网| 激情五月综合婷婷| www:99热视频| 就爱干 在线| 色五月色五天色情网| 婷久久高清| 丁香五月天欧美成人| 天天搞天天爽| 色婷婷呢狠禁久禁| 欧美99| 婷婷的色色五月天| 激情五月婷婷综合秋霞| 五月丁香日本一抹本| 婷婷丁香六月| 99热99日天天干| 狠狠色情婷婷| 激情五月久久| 色婷婷六月天| 五月婷婷婷丁香播| 日本在线观看99| 狠狠 婷婷| 99热免| www99久久| 色五月婷婷小说亚洲中文字幕组| 99国产在线精品视频| 97色色色色色色色| 五月天色色网站| 久久玖玖综合| 97色色综合| 五月婷狠狠| 五月婷婷色情| 日韩AV免费电影在线播放| 九九九九精品精| wwW天天干| 9久精品| 久久婷婷啪啪视频| 六月婷婷综合激情| 精品99视频| 久久 天天| 久久日韩婷婷五月| 精品久久久人妻| 欧在线一区| 婷婷丁香综合| 九九色网| 久久开心五月天激情| 玖玖@三月天天丁香婷婷| 久久久99精品| 九九色情网站| 婷婷成人小说综合| 久婷婷视平| 五月婷婷九月婷婷九月婷婷| 国产av天天插天天操天天爽| 久久人人人人妻| 爱穴久久| 婷婷五月色播放| 9久久网| www.日本91| 色吧婷婷| 一起草av| 2050人人操免费工开爱| 欧美精品XXXXBBBB| 日日操日日干| 琪琪色网址| 色五月激情婷婷| 中文字幕五月久久婷婷| 99热综合色图| 丁香婷婷色五月| 99热这里有精品| 婷婷五月天天| 婷婷丁香精品视频在线观看| 丁香五月天激情视频| 五月婷婷丁香大陆免费| 色婷婷丁香| 十月丁香婷婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 激情五月天com| 手机在线日韩视频中文字幕| 五月丁香成人网| mmm1717.6dbm人人爱人人操| 日韩二区搞逼插逼毛片| 玖玖热视频| 午夜成人AV在线| 国产 码在线成人网站| 99久久综合精品五月天| 99热欧美精品| 婷婷五月天成人网| 久久视频九九视频| 97碰免费精采视频| 99热九九热| 婷婷色五月情| 日韩超碰在线| 国产精产国品一二三在观看| 欧美啄木乌丝袜人妻系列| 精品网站:999WWW| av九九| 九九这里都是精品| 啪啪一区| 丁香影院五月综合| 婷婷五月情| 日日噜狠狠色综合久久| 热99精品视频| 亚洲亚洲人成综合网络| 日本狠狠色| 99这里只有免费的精品| 9久操| 99热99在线| 俺去也五月| 79亚洲精品少妇| 99色.com| 日本乱子人伦在线视频| 99国产精品久久久久久久久久久| 思思热思在线精品视频| 九九人人看| 丰满老熟妇BBBBB搡BBB| 欧美激情VA永久在线播放| henhencao国产在线| 色原狠狠综合| 中国女人做爰A片| 99色五月| 五月天激情社区| 五月婷婷六月丁香免费| 久久久五月天婷婷成人网| 99热99色| 婷婷操久久| 激情婷婷五月天在线观看| 超碰99热| 美腿丝袜AV天堂网| 久久五月婷6 9| 九九av| 狠狠操狠狠插| 99久久综合精品五月天| 色婷婷五月天亚洲| 99人人操人人爱久久久| 果冻传媒A片一二三区| 日本综合久久| 激情久久五月天| 99久久极情精品一区| 天天干天天日日| 成人做爰A片免费看网站找不到了| 一本九九色| 影音先锋五月婷婷| 欧美槡BBBB槡BBB少妇| 色综合激情| 五月婷婷激情中文字幕| 五月丁香六月婷婷的女人| 五月丁香av在线| 777色婷婷爱五月| 超碰成人在线观看| 久9精品| 极品少妇婷婷五月| 97色精品视频| 免费无码毛片一区二区A片| 色无码| 丁香色色色| 色婷婷五月在线| 九九热视频在线观看| 婷婷精品性性性性性性性| 玖玖九九99| 婷婷五六日| ...婷婷国产成人亚洲日韩| 亚洲另类在线观看| 五月天综合久久| 亚洲六月婷婷| 亚洲无码播放| 日韩综合网络男女香蕉a片| 久久婷婷久久| 国产激情在线| 丁香婷婷五月综合影院| 99热国产婷婷| 99亚洲精美视频在线观看| 高清国产AV| 伊人婷婷五月天av| 婷婷综合色网| 欧美三级黄色片久久| 四月婷婷五月丁香| 久久婷婷内射| 激情综合区| 婷婷五月av| 亚洲精品乱码久久久久久按摩观| 91碰碰| 成人精品一区二区三区四区五区 | 任你草| 色六月天天激情综合网| 激情六月下句是什么| 桃色伊人在线| 亚洲VA在线| 激情五月天开心总和网| 色情五月综合婷婷| 五月丁香六月成人| av在线资源| 天天色播| 丁香性爱在线视频| 久9草在线观看视频| 色婷婷AⅤ| 99久.| 99极品视频| 这里只有九九精品| 色五月激情| 天天摸天天肏| 久久久久久久久久8888| 婷婷五月久久| 亚洲精品成人片在线播| 亚洲视频一区| 婷婷五月天在婷| 丁香五月天AV| 黄网免费观看| 国产亚洲99久久精品| 午夜不卡久久精品无码免费| 色婷婷四虎| 婷婷99视频精品| 丁香五月天色综合| 丁香婷婷成人在线播放| 丁香五月六月婷婷综合| 成人丁香五月| 久久您您综合网| 99狠狠操一| 天天拍夜夜撸| 曰日爽日日操| 亚洲人妻AV| 婷婷色五月综合| 9热在线观看| 五月丁色AV| 狠狠插日日干撸| A片一曲| AA片在线观看视频在线播放| 丁香五月综合无码趴趴| 密黄站| 五月丁香啪啪综合| 色五月婷婷久久| 五月丁香婷婷伊人日韩| www,久久久| 激情久久综合网| 色综合丁香| 超碰九热| 99热国产精品| 狠狠操性爱av| 激情久久久| 激情玖玖综合网| 丁香五月天啪啪| 丁香六月婷婷综合在线| 婷婷伊人綜合中文字幕| YW无码| 亚洲精品操一操、噜一噜、摸一摸、爽| 亚洲色激情| 九九99久久| 六月撸婷婷| 人人操人人爱丁香五月| 色色色色综合| 玖玖婷婷色| 欧美Va在线| 六月丁丁香| 91九色大屁股| av网站中文| 超碰av在线| 婷婷综合色图| 激情婷婷色五月| 激情五月天综合网| 97人人做| 99精品福利视频| 老师的粉嫩小又紧水又多A片视频| 九色七七| 九九热在线视频观看| 激情内射人妻1区2区3区| 91丨九色丨东北熟女| 五月丁香六月婷婷姐| 五月婷综合性中心| 超碰免费在线| 六月丁香六月婷婷欧美| 人人爱人人添| 91.www综合| 少妇丁香婷婷 | 99ER热精品视频| 成人噜噜网| 色五月婷婷av| 操碰久| 狠狠做婷婷| 67久久| 操日本人妻视频| 国产美女无遮挡裸体毛片A片| 91成人视频| 五夜丁香| 天天操五月天| 婷婷激情视频欧美视频自拍视频欧美剧| 国产偷人爽久久久久久老妇APP| 亭亭丁香aV| 丁香色婷婷| 婷婷色在线| 亚洲人妻av| 九月激情网| 另类图片色五月| 99热青青草| 婷婷久月| 五月天综合久久| 99热人人| 超碰激情网| 国产成人AV在线| AAA久久久| 99操99| 色情五月天视频网| 色色a| 色婷婷丁香六月| www.色五月| 五月激情综合五月| 四川BBB搡BBB搡多人乱亂| 日批在线看| 中文婷婷狠狠| 欧美性丁香色色五月天干干| 色综合香蕉|