99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
天天透天天爱| 这里只有久久精99| 九九色网专区| 综合视频久久| 丁香五月综合在线播放 | 九九热这里只有国产精品| 香蕉久久国产AV一区二区| 色天天综合成人网| 婷婷色网| 欧美久人人| 色优久久| 婷婷五月色色| 99精品视频免费观看,| 久久久.www| 91九色精品| 99热精品在线播放观看| 色偷偷色婷婷| 狠狠狠狠狠狠草| 99九九精品视频| 77799热| 色狠狠色综合久久久绯色aⅴ影视| 艾小青av| 婷婷五月天激情在线观看| 五月天婷婷丁香人人操91| 五月婷中文字幕| 五婷婷六月合| 91热99| 亚洲激情五月天| 婷婷五月丁香六月伊人网| 婷婷天堂综合| 丁香五月第四色88| 天天插天天插天天操| 熟女人妻视频| 99热久久这里只有精品| 激情五月天天狠狠久久| 国产伦亲子伦亲子视频观看| 久99综合婷婷| 干一干xxxx| 激情婷婷丁香五月| 狠狠色综合网| 天堂色婷婷| 婷婷色五月大香蕉在线| 色综合久久久久| 色丁香五月婷婷在线| 色五月天丁香婷婷| 婷婷综合色网| www.99热精品| a免费在线| wwwss在线观看| 99热99精品在线观看| 色婷婷久久综合| 丁香五月成人自拍| 人妻中文字幕精品| 丁香九色不卡aaa| 欧美成人AAA片一区国产精品 | 99热精品在线| 婷婷国产综合| 五月花综合网| 色婷婷丁香五月天在线视频| 色天天狠狠干| 五月丁香AV、伊人业余、性色熟妇| 99热国产精品| 草综合网| 中文无码精品一区二区三区| 婷婷激情五月| 久久九色| 女人被躁到高潮嗷嗷叫小| 99九九视频精彩在线| 成人丁香五月婷| 九九热这里只有国产精品| 丁香五月手机在线| 啪啪黄页网| 成人在线精品| 五月天啪啪| 色色综合网站| 久久这里只有国产精品视频| 久久综合99综合| 色优久久| 雪千夏麻豆| 99噜噜噜在线播放| 成人va在线| 丁香六月婷婷激情| 九九99在线视频| www.夜夜爱.com| 91综合色| 99热国产| 丁香五月婷婷操逼| 亚洲六月婷婷| 五月丁香婷中文字幕| 婷婷综合在线视频| 色情婷婷| 九九无码视屏| 开心五月综合激情网| 久久偷拍综合五月天| 深爱婷婷丁香五月激情| 婷婷五月综合在线| 91狼友视频在线观看| 免费无码毛片一区二区A片| 激情亚洲网| 开心激情综合| 五月天激情国产综合婷婷婷| 91夫妻网站九色| 亚洲婷婷五月| 五月激情偷拍婷婷| 丁香五月婷婷激情蜜桃| 日韩成人综合网| 久热久| 无码激情AAAAA片-区区| 激情图片婷婷| 99人碰碰碰| 色黑鬼导航| 丁香婷婷久久激情| 天天五月天综合网址| 欧美色骚婷婷五月天| 亚洲综合在线伊人婷| 无码九九| 五月天婷爱综合| 色玖玖综合| 六月婷基地| 九九色人| 五月情涩综合婷婷| 丁香婷婷情色五月天| 天天日天天操心| 色欲天天综合网| 久久九九思思| 精品99久久久久成人网站免费| 伊人在线婷婷草| 青青草原精品久久| 五月叮香啪| 色噜噜狠狠色综合网| 精品久久9| 婷婷天天色| AV片在线观看| 婷婷五月天美女| 久久黄色免费视频| 丁香五月激情视频在线| 九九色热| 人与禽A片啪啪| 996热re视频精品视频| 蜜乳人妻一区二区三区| 丁香五月综合高清在线| 婷婷五亚洲| 天天爱天天做天天操| 五月天另类小说| 成人国产欧美大片一区| 五五月丁香花激情综合网| 婷婷六月情| 中文字幕在线观看视频www| www.久操| 五月丁香婷婷综合| 91干在线视频| 五月综合亚洲色| 天天爱天天吃狠天天透| 一区二区你懂的| 色热久资源| 天天色综合网1| 91婷婷搞| 欧美图片丁香五月天| 六月婷婷色宗合| 丁香五月激情综合| 开心丁五月| 99热播放| 欧亚洲在线高清视频| 亚洲天天| 色色国产| 九九Av| 丁香五月婷婷激情蜜桃| av网站免费在线| www久久99com| 99热在线观看| 99惹精品视频| 一本久婷婷综合| 婷婷五月深深的爱| 久久一级AV| 99热网站| www.久久综合| 综合婷| 婷婷五月AV| 无码激情AAAAA片-区区| 五月婷婷丁香伦理网| 亚洲精品视频在线播放| 我爱婷婷五月天综合88| 婷综合六月| 色女伊人| 五月天婷综合| 看片视频在线免费日产在线看| 日韩综合成人| 五月丁香成人| 停停六月 综合| 九九热视| 婷婷五月天av| 国产午夜精品AV一区二区麻豆| 久久婷婷六月天| 日本色99| 99这里只有免费的小视频在线观看| 青青草激情网| 狠狠色无码| 欧美性爱丁香五月| 激情综合五月婷婷| 狠狠香婷婷五月| 婷婷五月天综合网| 天天色天天射天天日| 狠狠爱综合| 久久婷婷五月天| 婷婷五月色天| 99热精品在线播放观看| 国成人网| www.激情| 久久机热这里只有精品免费视频| 丁香五月色情av| 国产色色色色| 性天堂久久| 开心激情综合| 五月丁香五月婷婷在线观看| 亚洲思思热久| 国产AV一区二区三区最新精品| 九月婷婷综合八月丁香在线观看| 色99免费视频中文| 六月色婷婷| 国产精品久久7777777精品无码| 国产在线aaa片一区二区99| 色色色色色色综合| 日韩九区| 99视频这里有精品| 久久精品4| 久久成人性爱| 五月天婷婷AV| 日韩性爱AV| 久久综合人妻| 天天橾日日橾夜夜橾17| 九九久久综合| 丁香婷婷婷婷十二月在线观看视频| 淫视馆AV在线| 婷婷五月丁香伊人| 亚洲乱码在线观看| 亚洲激情AV| 婷婷伊人五月天| 色色日韩网| 日韩三级高清无码| 国产精产国品一二三在观看 | 激情婷| 色播丁香| 亚洲99综合| 色五婷婷| 丁香五月欧美色综合| 99久久网站| 超碰人人色| 丁香五月天在线| 538午夜激情| 久色网| 九九无码| 色丁香综合影院| 五月J香蕉婷婷| 操操人人| 超碰二区| 婷婷激情在线| 婷婷五月天激情基地| 激情综合五月激情XXXX| 91日韩美女被插视频| 日韩ww| 日本va欧美va国产激情| 五月丁香啪啪啪综合网| 色偷偷色婷婷| 丁香激情五月少妇| 婷婷五月天伊人网| 狠狠xx| 天天综合网、天天综合色| 狠狠干狠狠操狠狠爱| 97色婷婷| 婷婷五月天av| 大地9中文在线观看免费高清| www.久久爱.com| 天天日,天天插| 色综合久久天天综合网 | 另类国产欧美视频| 色色图五月天| 中文字幕网站在线观看| 伊人网啪啪| 六月色婷婷| 99热在线只有精品| 人妻AV在线| 色色色干| 91久久婷婷| 亚洲色视频| 欧美婷婷| 精品一区二区三区免费毛片爱| 婷婷综合五月天| 国产精品国产| 91操碰| 丁香五月香蕉| 五月婷婷久久综合| .精品久久久麻豆国产精品| 日本天天操| 99热97| 91婷婷| 香蕉久久国产AV一区二区| 五月天色不卡| 五月综合激情久久| 涩 五月 婷婷 狠狠| 亚州色综合| 婷婷色操| 国产五月丁香在线| 激情五月婷婷色播网| av在线色五月丁香婷区久| 人人干Av| 五月六月激情| 色色激情网| 丁香五月手机在线| 色综合色色| 91打屁股免费看| 超碰A V在线| 日本黄色在线观看| 怡红院院在线导航网| 超碰renrenai| 另类 在线| 丁香婷婷啪啪| 天天干天天av天天射 | 婷婷免费无马| 伊人91| 欧美日韩大黄| 色五月激情五月| 人妻AV在线观看| 五月丁香六月激情欧美综合| 日本在线播放97| 9 9 9色色| 激情综合区| 五月丁香综合久久| 超碰色综合| 五月天另类小说| 思思热在线精品视频| 麻豆AV一区二区三区| 五月色丁香婷婷综合| 人妻视频在线| 五月丁香婷婷激情澎湃四射| 色婷婷综合网| 狠狠干狠狠操狠狠爱| www,色婷婷| 日 日干 日日做| 色噜噜狠狠插综合| 69精品人人人人人人人人人| 亚洲网站999| 婷婷久久五月天亚洲欧美国产日韩在线观看| 天天开心天天色| 性99网站| 精品一二三区久久AAA片| 人人97操| 亚洲色色色色| 狠狠插狠狠插| 99在线视频播放| 婷婷狠狠五月综合| 99热最新| 亚洲成人综合在线| 碰碰91| 永久天堂日本| 色综合五月在线| 欧美25p| 9l视频自拍9l九色成人| 9久久久久久久久久久| 高清无码中文字幕aVDV| 成人日韩欧美| 婷婷色五月天色| 婷婷五月天影视| 99在线精品观看99| 9福利性视频欧美| 99热这里只有精品一区| AA片在线观看视频在线播放| 丁香婷婷激情五月色| 久久久久久9| 99re8热精品免费视频| 国产伦理精品高清在线观看网站一区二区 | 久久曰曰| 97久久精品| 婷婷五月天电影区小说区| 少妇水多A片太爽了| 久久一级免费黄色片| 婷婷亚洲五| 五月丁香六月成人| 久久精99| 成人性爱精品视频| 丁香九色不卡aaa| 另类小说婷婷色| av无码电影| 99爱在线观看视频| 啪精品| 五月性色| 色色丁香五月天社区| 17.c黄色| 五月丁香久久丝袜啪啪| 熟女网站久久| 色五月婷婷激情综合网| 亚洲精品又粗又大又爽A片 | 久热视频这里只有精品68| 精品9197碰| 婷婷久久六月天| 婷婷九月| 五月丁香婷婷人体| 亚洲色色五月| 亚洲av网站| 狠狠搞五月天| 亚洲乱码日产精品BD| 日日干日日s| 最近中文字幕2019视频1| 激情五月网站| 五月伊人婷婷999| 天天摸色吧天天摸色吧| 伊人久热91网| 亚洲天堂久久| 99精品久久久久久久婷婷久久| 综合另类激情| 日本99久久| 国内裸舞二区| 五月婷天堂视频| 五月婷婷影院| 亚洲精品操一操、噜一噜、摸一摸、爽 | 伊人五月天在线| 伊人久久大香天蕉亚洲特级| 天天做天天爱天天爽| 色天天综合色| 丁香婷婷五月综合| 九色视频91| 色五月激情综合| 无码AV免费精品一区二区三区| site:ornaments52.com| 六月丁香开心婷婷欧美| 久久综合九九| 我爱宗和色| 密臀av无码人妻精品| 另类在线| 色狠狠色噜噜AV天堂五区消防| 天堂综合久| 色欲五月婷婷| 激情婷婷| 丁香 久久| 精品国产va久| 久久人人看| 91黄色五月天视频| 丁香五月成人| 99久久综合| 天堂色婷婷| 精品亚洲国产成AV人片传媒| 色三级色三级| 夜夜夜夜夜骑撸| 久久久人妻人伦| 丁香性爱在线视频| 丁香五月婷婷网| 吉澤明步Av一區二區| www色色色com| 色九九中文字幕| 色色激情五月天| 久热这里只有精品视频免费观看| 婷婷五月天激情四射| 九一娱乐在线观看视频| av九九| 免费视频这里只有精品| 五月天婷婷在线观看精品男人| 2021日韩无码| 五月婷婷色色爱| 色婷婷丁香五月| 曰日爽日日操| 思思w99| 婷婷欧美激情综合| 五月丁香综合| 另类精品视频在线观看| 激情久久网 | 亚洲成人在线五月天| 天天在线久久综合 | 欧美激情中文字幕| 亚洲日本三级片| 久久精品99国产精品日本| 五月丁香婷婷色色色| 婷婷丁香五月综合网上| 少妇日麻屄| 成片免费播放| 色9999日韩国产| 久久精品夜色噜噜亚洲a∨| 人人操人人妻| 五月婷久草| 狠狠狠狠狠狠草| 久热这里只有| 中文字幕永久在线| 久久五月婷| 色婷婷亚洲精品天天综| 五月天婷婷综合| 亚洲色五月| 99热最新网址| 99这里都是精品| 天天婷婷综合亚洲亚洲| 五月天婷婷丁香| 久热9| 久久丁香五月婷婷| 亚洲亚洲人成综合网络| 中文AV网站| 丁香婷婷激情四射五月| 丁香五月婷婷俺也要去| 色五月五月天| 99久久免费精品| www.五月天社区| 婷婷五月激情视频在线| 综合狠狠五月婷婷| 国产六月婷婷| 久久这里有精品视频| 日韩久久这里只有精品| 五月亚洲| 九九久久99精品免费观看www| 婷婷五月天黄色| 久久六月综合| ..真实国产乱子伦毛片| 综合久久狠狠| 久久天堂色| 久久久久9久无码视频| 九九精品碰| 2020日日干| 日韩精品无码一区二区| 久草热8精品视频在线观看| 婷婷五月天久草在线| 婷婷五月天免费99| 五月丁香六月综合基地| 狠狠88综合久久久久噜噜噜| 99色最新在线视频网站| 中美日韩成人在线| 日韩av变天就操逼不卡区| 无码少妇高潮喷水A片免费| 啪啪操网| 五月总合激情网| 九六五月天婷婷| 国产成人亚洲综合A∨婷婷| 丁香五月婷婷激情网| 国产精品99久久久久久久女警| 操逼电影免费看| 97干网站| 狠狠色噜噜狠狠| 97人人操人人干| 久久综合26p| 九九亚洲综合| Www.激情| 人人摸人人干| 人人人操| 啄木鸟丝袜美女福利视频| 亚洲操逼片| 亚洲偷| 精品九九婷婷| 狠狠干狠狠干狠狠干狠狠干| 久久婷婷啪啪视频| 91九色PORNY大屁股| 婷婷精品在线| 开心激情播播五月天| 色色网站在线| 五月天色小说| 五月天开心激情网色欲无码| 这里只有精品免费观看网占| 91狠狠综合久久久| 国产91视频| renre人人操国产超碰在线| 婷婷久久丁香五月| 99热一本| 99在线观看| 九艹在线| 亚洲狠狠操| 婷婷五月天亚洲精品| 亚洲人妻Av| 99久久婷婷国产综合精品电影| 综合久久综合| 五月婷婷六月天| 日韩精品一区二区三区,四区,五区视频| 99热在线观看精品| 丁香五月婷婷六月丁香| 黄色激情网站在线观看| 开心五月综合激情综合五月| 久久五月天婷婷| 久热91精品| 99乱视频| 激情五月天婷婷色色色色色色色色色色色 | 99爱视频精品| 97色久| 久久精品91视频| 色婷婷久综合久久一本国产AV| 免费无码毛片一区二区A片| 亚洲天堂热| 九九九九毛片| 丁香五月久久| 婷婷五月天成人| 伊人久久婷婷| 九九热99热| 婷婷国产欧美97| 久久人妻www| 五月丁香婷久久| 婷婷视频在线| 亚洲无码九九九| 伊人六月丁香婷婷| http://www.com久久久精品一区| 在线观看玖玖资源免费观看| 亚洲AV成人无码精品| 这里只有精品视频看看| 色婷网站| 深爱激情五月网| 婷婷色色综合| 99热国产这里只有精品| 婷婷情色五月天| 色丁香五月天| 亭亭丁香久久五月| 欧洲婷婷五月天| 久久精彩视频| 久久久五月天婷婷成人网| 91精品熟女| 99精品在线播放| 久久激情视频| 丁香六月在线| 激情五月丁香在线观看直播| www色哟哟| 99爱精品视频| 美国不卡视频| 五月天综合婷婷| 一本久久亚洲五月婷婷| 丁香花五月天社区| 久久东京热婷婷五月| 丁香五月婷婷亚洲人| 日本猛少妇色XXXXX猛叫| 亚洲激情区| 一区二区三区四区牛| 超碰免费人妻| WWW五月天| 免费V片在线| 天天噜日日噜综合无码| 97色伦另类图片小说视频| 国产亚洲99久久精品熟女| 看全色黄大色大片| 婷婷五月天 偷拍| 久久婷五月影院| 97久久久久| 亚洲另类婷婷五月丁香在线播放| 67194国产| 婷婷五月激情视频| 激情婷婷久久| 99人人爽| 开心五月激情网| 99久久思思| 丁香香蕉婷婷| 综合色播| 思思精品热在线| 99久久婷婷国产综合精品草原| 女人被躁到高潮嗷嗷叫小| 色五月av| 欧美日韩AAAAA| 一本色道久久综合狠狠躁小说| 男人的天堂五月丁香| 性色播| 激情四射婷婷色色色| 少妇性BBB搡BBB爽爽爽视頻| 九九大香视频| 婷婷99狠狠躁| 26UUU精品一区二区c〇m| 色综合色五月| 夜夜爱爱亚洲| 色婷婷综合久久| 狠狠狠狠狠| 色碰碰| 深爱激情丁香| 九九av| 天天干com| 偷偷狠狠久久婷婷五月天| 9久久精品视频| 婷婷激情五月呦呦| 久久六月综合| 强伦轩人妻一区二区电影| 亚洲欧州色情在线观看| 激情久久久| 好色婷婷| 丁香六月啪啪| 99re思思久久| 国产成人99久久亚洲综合精品| 思思久久精品| 婷婷之六月丁香| 九九九九国产| 99re热99| 色婷操逼| 91精品婷婷国产综合久久| 猫咪伊人AV| 三级毛片视频| 色五月婷婷亚洲| 色色无码| 9色视频在线| 97人妻碰碰碰久久香蕉| 4438激情网| 色婷婷精品视频| 99热这里只有精品55| 99热这里只有精品66| 天天操天天草天天草天天| 五月激情视频网| 免费99情趣网视频| 久久99婷婷| 99久热在线精品| 超碰在线视屏| 婷婷色五月大香蕉在线观看| 五月天婷婷丁香人人操91| www99精品在线观看| 99年操人人爽| 色综合9| 国产精品成人网站| 久久caop| 欧洲区自拍| 啪啪黄页网| 91婷婷丁香| 激情5月舔| 狠狠色噜噜狠狠亚洲A∨| 国产精自产拍久久久久久蜜 | 99爱视频免费| 五月婷婷久久综合| 欧美搡BBBBB摔BBBBB| 色爽干| 91九九热| 国产综合丁香五月天| 人人插9| 婷婷性福五月天| 青青草五月天| 亚洲中文字幕av| 97精品欧美91久久久久久久| 尔尔AV一区| 日本精品久久久久中文字幕| 91伦| 啪啪91| ss99热| 深爱激情综合网| 久久婷婷啪啪视频| 午夜天堂一区人妻| 九九视屏| 日本精品。999| 99无吗| 色色综合网站| 懂色av粉嫩AV蜜臀AV| 六月丁香六月婷婷欧美| 操国产人妻| 婷婷激情小说| 日韩成人电影AV| 色久一| 欧洲激情网站| 日日夜夜狠狠操| 婷婷五月大香蕉| 99热色精品| 日本天堂网站99| jiujiu热在线视频| 色五月婷婷色五月婷婷色五月婷婷| 久久婷婷亚洲| 丁香五月天堂亚洲社区| 99热91| 久久亚洲激情五码| 五月天婷婷综合| 日本人人草草| 色综合久久久久久久久五月| 九月丁香| www.久9| 青青草蜜臀| 激情综合婷婷| 青青999| 人人色AV| 五月丁香激情啪啪| 婷婷色五月天色色| 人人干人人操人人摸人人做| 色综合色综合网| 久久机热探花| 99爱视频免费看| 色情综合网| 草一草avb| 天天婷婷综合亚洲亚洲| 色婷婷丁香花五月天| 久久久99免费视频| 99热只有| 色婷大香蕉| 婷婷五月天色网久| 91久久婷婷| 久久久www| 五月天婷婷AV| 99热一本久道| 亚洲欧美另类在线23p| 大地资源色婷婷视频在线| 超碰免费在线| 欧美久久婷婷| 婷婷六月综合| 天天爽天天干| 啪啪色激情五月天| 婷婷色爱| 成人午夜视频精品一区| WWW久久久| 啪啪丁香五月| 4438激情网| 精品亚洲日韩99欧美片| 亚洲综合色色| 9 1大香蕉| 综合婷婷五月丁香在线观看| 国内精品免费一区二区2009| 五月WWW| 五月天丁香色色| 久久久思思热| 人妻熟妇国产精品| 九九99免费视频| 丁香五月香蕉| 丁香六月开心| AV中文在线| 全网最新网黄大秀直播高清,主播国产录屏在线 | 亚洲久久激情| 五月天婷婷综合久久| 99久视频| 亚洲精品乱码久久久久99| www五月| 天天日天天摸天天| 中国丰满熟女A片免费观| 天天干天天日日| 日韩AV免费电影在线播放| 开心激情站婷婷五月天| 久久精品国产AV一区二区三区 | 1024欧美看片| 久久这里都是精品| 九九干视频| 人人操99| 五月丁香综合激情在线观看| 免费看欧美成人A片无码| 69er小视频| 热久久婷婷| 成人在线综合| 久久视这里只有精品| 中文字幕按摩做爰| 婷婷情色激情| 婷婷综合色图| 色婷婷五月天| 婷婷五月天六点丁香五月| 91精选国| 五月丁香啪| 色域五月婷婷丁香| 天天爱天天操| 狠狠做深爱婷婷久久综合一区| 综合另类视频| 色99网站| 久久人妻高清中文| 亚洲色啪| 丁香五月狠狠在线观看| 五月丁香在线| 亚洲成色综合网站免费观看| 任你干aa| 五月天啪啪| 五月综合婷婷久久在线| 色偷偷色婷婷| ..真实国产乱子伦对白在线_欧| 国产婷婷色综合AV蜜臀AV| 人妻久久久久久| 激情丁香社区| 91碰免费视频| 99热在线观看精品| 国产精品色色色色| 日韩另类在线观看| 国产亚洲精品AAAAAAA片| 99热九九热| 色五月丁香五月激情五月激情| 久久婷婷免费| 五月丁香啪啪啪| 思思国产99| 思恩热国产视频右线观看| 婷婷五月色花丁香社区| 天天日天天爽| 91青娱乐青青草| 久久久久99精品成人片| 97色色色| 国产婷婷久久| 超碰97在线操| 亚洲激情四射| 日本色爽| 婷婷六月天亚州| a色色色色色| 大香蕉人人人| 亚洲九九99精品视频在线播放| 五月天激情国产综合婷婷| 99热这里只有精品首页| 日日操日日干| 高清国产AV| 丁香婷婷五月综合欧美另类| 丁香婷婷啪啪| 久久婷婷网站| 久久九九色| 深爱激情网噜噜色| 五月婷婷与六月丁香图片激情| 任你擦免费视频| Www.久久| 99丁香五月| 最近免费中文字幕大全高清大全1| 色色色99| 射久久丁香五月| xxx.色婷婷| 五月天成人在线| 色婷婷在线综合色播网| 丁香六月啪啪| 久久久999精品| 四月婷婷五月丁香| 六月丁香天堂| 九九热99在线视频| 人操91在线| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | av第一二区| 丁香五月婷婷综合激情哟哟哟| 国产精品涩涩涩视频网站| 久久人人妻| 天天爽,夜夜爽| 五月天激情AV| 怡红院一二三| 五月婷婷影| 成人性爱无码| 97大香蕉五月天| 久久婷婷国产| 亚美欧色影院| 久热这里只有精品99re| 狠狠色婷婷六月激情网| 六月婷婷六月天天在线免费| 日韩成人AV在线| 五月丁香激情综合| 九月丁香婷婷| 激情五月天婷婷久久久久久久久久久| 色婷婷五月天中文字幕| 中文精品久久久久人妻不| 99综合视频在线| 丁香六月婷婷五月天| 狠狠色噜噜狠狠色噜噜噜999| 久久五月天激情美女| 99r这里只有精品哦| 五月丁香婷婷五月色| 大狠狠在线| 久久婷婷五月天亚洲欧美| 婷婷 亚洲图片 丁香| 91狠狠色| 色欲天天综合网| 婷婷六月丁香在线| 丁香五月婷婷丫| 丁香六月天色婷婷| 天天拍夜夜爽日日| 久久人妻视步| 97在线刺激| site:pnnrt.com| 成人做爰高潮A片免费视频| 91se精品国产| 亚洲蜜乳AV| 久激情网| 久久这里都是精品视频| 五月婷婷中文字幕| 日本啪啪网| 欧美交换配乱吟粗大25P| 久久丁香综合香蕉| 丁香五月成人丝袜| 丁香五月91| 色婷婷内射| 人人人va亚洲视频在线| 成人永久免费视频在线观看| 激情五月婷婷五月| 久99婷婷色综合| 免费AV在线| www.激情五月天.com| 五月丁香黄色| 丁香激情久久| 怎么样可以看免费的一级av| 久婷婷五月天影院| 五月天激情站| 欧美婷婷成人| 久久婷色| 天天色综| 超碰三级秋霞| 99久久6| 婷婷五月在线观看| 久久99精品久| 91操人| 天天色,天天日,天天做| 另类小说五月天| 精品婷婷丁香五| 色五月激情视频在线综合| 五月激情五月婷婷五月天在线| 久草A片| 亚洲人妻av| Caoub青青超碰| 六月婷婷深深爱| 狠狠色噜噜狠狠狠888| 国产成人网址| 婷婷婷久久久| 狠狠干思思热| 五月香婷婷| 久久最新色| 色播婷婷五月天| 五月天伊人| 综合玖玖偷拍| 国产精品久久久久久五月天加勒比| www.99热视频| 成人 九九九九| 青青五月天婷婷| 午夜婷婷| 五月丁香花激情综合网| 99热在线观看这里只有精品| 日日干夜夜干| 中文字幕在线免费| 79精品视频在线观看,| 亚洲12p| 五月婷婷色播| 色色色色色色色色网站| 亚洲无AV在线中文字幕| 国产成人网| 操操天堂| 亚洲熟女乱色综合亚洲网站| 五月天基地| 色婷婷小说| 日日操夜夜爽白洁| 中文AV网站| 亚洲亚洲人成综合网络| 6月丁香婷婷| 欧美va视频| 六月婷婷色色色| 色狠久| 波多婷婷久久| 亚洲婷婷激情888精品久| 五月婷婷丁香| 五月天天丁香婷婷在线中| 色色免费网站| 日本操碰碰| 色五月天丁香婷婷| 亚洲午夜Av| 丁香五月天堂网| 婷婷伊人綜合| 久久激情五月婷婷| 丁香五月婷婷激情中文| 四色五月婷婷在线观看| 99热人人操人人操| 天天艹夜夜爽| 操操操97| www激情网| 久久婷婷七月丁香| 俺去也在线官网| 五月婷久久久久综合| 国产五月婷| 婷婷五月在线影院| 天天操天爱综合| 超碰免费观看| 99在线小视频| 天天干,天天操,天天射| 2017狠狠干| 色爱综合网| 亚洲操B| 午夜 外网 精品 在线| 国产美女无遮挡裸体毛片A片| 六月婷伊人| www.99精品日操伊人乱碰在线| 看国产探花操逼三级片| 青青色com久久| 丁香五月天在线| 91精产一区三区免费观看| 九九99香蕉在线视频播放| 色你久久| 色噜噜综合网| 五月天伊人日日噜影片AV| 久久婷婷五月综合色丁香花| 激情五月天小说| 91激情五月开心| AV中文在线| 色色爽爽天天| 97精品人人A片免费看| 激情五月狠狠| 丁香五月AV| 五月丁香六月婷综合成人综合| 丁香五月日本| 伊人激情网| 8区视频在线| 秋霞学生妹一二级| 亚洲妇女熟BBW| 最新va在线播放| av九九| 日韩人妻AV在线| 日本丁香五月| 婷婷丁香久久| 精品久久久久成人码免费动漫| 婷婷丁香五月在线播放| 99热老司机| 国产日产亚系列精品版优势| 婷婷娱乐丁香综合网| 精品久久婷婷| 亚洲婷婷五月天| 五月天综合婷婷| 狠狠色婷婷7777久| 91九色白丝| 九九色逼| 国产另类综合| 91丁香| 国外亚洲成AV人片在线观看| 激情五月天电影| 五月激情丁香五月| 国产黄色大片| 亚洲激情综合| 开心深爱激情网| A一级操| 久久9RE热视频精品98| 91久久久久久| 五月婷婷丁香婷婷| www.99热国产| 干一干xxxx| 成人婷婷色综合| 成人av免费观看| 丁香五月婷婷六月| 婷婷色无码| 亚洲无码11| 久久婷婷五月综合色区| 日日综合网| 综合婷婷都市激情| 五月天婷婷久久综合| 精品人人操| 国产三级在线播放| 成人做爰高潮A片免费视频| 久大香蕉| 久久久精久人妻| 五月婷俺去也| 久久精品综合色| 91久女| 激情五月综合网| YJLZZJLZZ亚洲乱熟无码| 99热中文字幕久久| 色婷婷影院| 黄色精品五月婷婷| 狠狠色中色| 中文字幕按摩做爰| 色色色色综合| 久久多色| 美女五月狠狠| 日日.c| 婷婷五月天六月综合| 中文网AV| 超碰女人天堂| 成人中文字幕在线| 丁香97综合| 五月美女婷婷风骚| 人妻丰满精品一区二区A片| 99热在线精品观看| 久热一本| 激情九月综合| 日良久久| 六月色播| 99九九视频精彩在线| 色香欲综合| 深情五月天| 日夜夜天天| 婷婷五月天激情影片| 9久热这里只有精品视频| 五月天婷婷六月| 欧美美女国产日韩一区二区久| 色欲人妻综合aaaaaaaa网| 久久丁香五月婷婷| 婷婷97碰碰| 翔田千里 50岁 无码| 噜噜操操| 综合AV在线| 色九区| 丁香五月天激情网址| 五月天丁香六月综合| 99在线爽| 2023天天日夜夜爽| 五月丁香婷中文| 伊人色欲五月天| 五月 婷婷 成人| 777色色色| 国产高清RV综合aVa| 五月天综合视频| 九九亚洲| 久久人操| 天天日天天插| 五月天网址在线刘玥| 成人做爰A片免费看视频| 丁香五月成人自拍| 噜噜噜精品欧美成人在线观看| 色国产五月| 色偷偷狠狠| 色噜噜五月天| www.色综合.com| 五月婷婷基地| 欧美色色色| 成人.在线日韩| 91av色色乱视频| 婷婷色在线播放| 日韩另类| 五月天堂婷婷| 婷婷六月丁香五月| 成人五月天丁香| 五月婷婷影院| 日韩欧美成人一区二区三区| 色婷婷女优有码五月亭| 亚洲综合九九| 五月激情偷拍婷婷| 婷婷天天舔| 日本色爽| www.超碰在线| 久久免费少妇高潮99精品| 69综合在线| 99热免费网站| 四月婷婷丁香| 狠狠色成人影片| 亚洲操逼网| 婷婷色网址| 欧美色宗和激情| 丁香五月日本| 播五月开心婷婷欧美综合| 六月丁香五月婷婷| 亚洲乱码日产精品BD| 日韩无码系列| 中文精品久久久久人妻不| 五月天深爱激情网| 综合久久97| 欧类av怡春院| 九热久| 成久综合视频| 99色在线视频| 少妇被躁爽到高潮无码文 | www.五月天| 中文久久婷婷| 五月天自拍网| 碰97久久| 99热在线精品观看| 色开心五月丁香| 琪琪理论片| 五月婷婷视频| 日本视频久久| 综合AV在线| 99国产这里只有精品| 4399在线日本A片| 99热免费18| 色五月婷婷天天干| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 激情五月婷婷老师| 狠狠干综合| 激情综合婷婷久久| 79亚洲精品少妇| 99热综合在线| 日韩久久系列| 再綫Av免费視品| 激情丁香九九五月综合网| 婷婷丁香18| 久久婷婷五月天激情四射| 久久久精品色色色| 日本狠狠干| 久久新地址| 婷香五月激情视频| 丁香五月激情图片婷婷| 99在线观看视频免费| 999热在线视频| 色综合色香蕉网| 五月天激情网图片 - 百度| 激情av| 91丨九色丨丰满人妖| 丁香六月婷婷| ww超碰在线| 激情www.98com| 熟妇人妻中文字幕无码老熟妇| 五月丁香婷婷无码中文| 丁香五月婷婷六月| 伊人99热| 99热无码| 婷婷丁香色五月天| www.六月丁香看AV| 色婷婷中文| 丁香九月婷婷色| 激情婷婷六月天| 国产乱码久久| 九热视频| 97丁香花五月天激情小说| 亚洲中文字幕网| 免费亚洲婷婷中文字幕| 五月丁香色婷婷婷基地| 激情综合色| 狠狠色婷婷7| 碰99在线| 日韩99色99|