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

ARTICLE DETAIL

資訊詳情

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

C++ STL list底層源碼剖析:節(jié)點(diǎn)結(jié)構(gòu)、哨兵節(jié)點(diǎn)與迭代器機(jī)制

C++ STL list底層源碼剖析:節(jié)點(diǎn)結(jié)構(gòu)、哨兵節(jié)點(diǎn)與迭代器機(jī)制 用過STL的人基本都繞不開list這個(gè)容器看起來太簡單了——雙向鏈表嘛插入刪除O(1)??烧姹粏柕絣ist的迭代器為什么不是一個(gè)指針?biāo)膇nsert到底做了什么為什么list沒有自己的sort就是編譯錯(cuò)誤的時(shí)候很多寫了幾年C的人也會愣一下。這篇文章我想從list的底層實(shí)現(xiàn)出發(fā)把節(jié)點(diǎn)結(jié)構(gòu)、哨兵節(jié)點(diǎn)、迭代器機(jī)制和核心操作源碼一層層拆開搞清楚它究竟是怎么工作的。源碼以開源社區(qū)的libstdc風(fēng)格實(shí)現(xiàn)為藍(lán)本剝掉模板包裝看核心骨架。對剛接觸STL源碼的讀者來說這篇能幫你建立完整的底層認(rèn)知少走彎路。1. list的底層數(shù)據(jù)結(jié)構(gòu)雙向鏈表的核心設(shè)計(jì)1.1 序列容器里的第三個(gè)選擇C標(biāo)準(zhǔn)庫提供了三種經(jīng)典序列容器vector、deque、list還有C11加入的forward_list。vector用連續(xù)內(nèi)存隨機(jī)訪問快但頭部插入刪除是O(n)deque用分段連續(xù)內(nèi)存兩頭操作是攤還O(1)但中間插入刪除依然是O(n)。list解決的就是這個(gè)特定痛點(diǎn)只要你知道位置在任何地方插入或刪除都是O(1)而且不會讓其他元素的迭代器失效。這個(gè)能力完全來自底層數(shù)據(jù)結(jié)構(gòu)——雙向鏈表。每個(gè)節(jié)點(diǎn)獨(dú)立分配節(jié)點(diǎn)之間靠兩個(gè)指針連接插入刪除只需要修改相鄰節(jié)點(diǎn)的指針指向不涉及元素本身的搬移。這是理解list一切行為的起點(diǎn)。1.2 節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)加兩個(gè)指針在libstdc的實(shí)現(xiàn)里節(jié)點(diǎn)不是簡單的一個(gè)T加兩個(gè)指針而是拆成了基類和派生類兩層// 基類只存指針 struct _List_node_base { _List_node_base* _M_next; _List_node_base* _M_prev; }; // 派生類繼承指針加上數(shù)據(jù) templatetypename T struct _List_node : public _List_node_base { T _M_data; };為什么要這么拆兩個(gè)原因。第一所有不依賴具體T類型的鏈表操作都可以只操作指針。比如后面要講的_M_hook把節(jié)點(diǎn)掛到鏈表上和_M_unhook把節(jié)點(diǎn)從鏈表上摘下來它們只關(guān)心_M_next和_M_prev兩個(gè)指針根本不需要知道T是什么。把指針放在基類里這些函數(shù)就能用不依賴模板參數(shù)的形式寫出來編譯器不用為每個(gè)T都實(shí)例化一份。第二內(nèi)存布局更清晰。64位系統(tǒng)下一個(gè)listint節(jié)點(diǎn)的大小是兩個(gè)指針16字節(jié)int數(shù)據(jù)4字節(jié)對齊填充4字節(jié)總共24字節(jié)。稍后看到內(nèi)存對比時(shí)你會體會到這個(gè)節(jié)點(diǎn)大小直接決定了list的緩存不友好性。1.3 哨兵節(jié)點(diǎn)讓所有邊界情況消失這是list實(shí)現(xiàn)里最精妙的一個(gè)設(shè)計(jì)。鏈表里常見的問題是邊界處理空鏈表怎么表示在頭部插入和尾部插入要不要特判迭代器怎么判斷已經(jīng)走完了libstdc的做法是list對象內(nèi)部維護(hù)一個(gè)哨兵節(jié)點(diǎn)也叫頭節(jié)點(diǎn)它不屬于有效數(shù)據(jù)但永遠(yuǎn)存在。templatetypename T, typename Alloc class _List_base { _List_node _M_node; // 哨兵節(jié)點(diǎn) public: iterator begin() { return iterator(_M_node._M_next); } iterator end() { return iterator(_M_node); } };哨兵節(jié)點(diǎn)的_M_next指向第一個(gè)有效節(jié)點(diǎn)_M_prev指向最后一個(gè)有效節(jié)點(diǎn)??真湵頃r(shí)哨兵節(jié)點(diǎn)的_M_next和_M_prev都指向它自己。這個(gè)設(shè)計(jì)帶來的好處是巨大的空鏈表和非空鏈表統(tǒng)一處理插入、刪除代碼不需要寫if (empty())分支end()不是nullptr而是一個(gè)真實(shí)存在的地址所以while (it ! lst.end())的循環(huán)永遠(yuǎn)安全從尾部往前遍歷也安全--end()就是最后一個(gè)元素不會越界插入和刪除操作里哨兵節(jié)點(diǎn)就像一個(gè)普通節(jié)點(diǎn)一樣參與指針連接邊界情況自動消失我在教學(xué)時(shí)習(xí)慣把哨兵節(jié)點(diǎn)比作環(huán)形走廊里的起點(diǎn)標(biāo)志——它不占任何座位但你在走廊里走永遠(yuǎn)知道起點(diǎn)在哪也永遠(yuǎn)不會走出邊界。2. list迭代器的實(shí)現(xiàn)原理為什么它不是一個(gè)裸指針2.1 迭代器必須是類對象vector的迭代器在絕大多數(shù)實(shí)現(xiàn)里就是一個(gè)裸指針因?yàn)関ector元素內(nèi)存連續(xù)it就是指針1簡單直接。但list不行它的節(jié)點(diǎn)散落在堆上it必須從當(dāng)前節(jié)點(diǎn)的_M_next取出下一個(gè)節(jié)點(diǎn)地址。所以list的迭代器是一個(gè)類內(nèi)部封裝了一個(gè)指向節(jié)點(diǎn)的指針通過重載運(yùn)算符來模擬指針行為templatetypename T, typename Ref, typename Ptr struct _List_iterator { _List_node_base* _M_node; _List_iterator operator() { _M_node _M_node-_M_next; return *this; } _List_iterator operator--() { _M_node _M_node-_M_prev; return *this; } bool operator(const _List_iterator x) const { return _M_node x._M_node; } };注意這里_M_node的類型是_List_node_base*而不是_List_nodeT*。為什么因?yàn)榈髦徊僮髦羔槻恍枰繲。等真正訪問數(shù)據(jù)時(shí)才把基類指針轉(zhuǎn)回派生類指針。這個(gè)設(shè)計(jì)讓迭代器的增刪查操作不用依賴模板參數(shù)間接減少了模板實(shí)例化代碼量。2.2 解引用操作符從指針到引用迭代器的operator*是訪問數(shù)據(jù)的關(guān)鍵。標(biāo)準(zhǔn)庫的實(shí)現(xiàn)大概是reference operator*() const { return *static_cast_List_nodeT*(_M_node)-_M_valptr(); } pointer operator-() const { return *operator*(); }static_cast_List_nodeT*把基類指針轉(zhuǎn)回具體的節(jié)點(diǎn)類型然后取出_M_data。operator-則是先取引用再取地址這樣it-member這種表達(dá)式才能正常工作。這些操作符必須返回引用而不是值否則it-member或者it-value 1這種修改就無效了。這也是為什么迭代器要定義reference和pointer類型別名——它們是STL算法和容器交互的契約。2.3 迭代器失效規(guī)則list最讓人安心的地方看源碼之前先記住list迭代器失效的幾個(gè)結(jié)論它們直接來自上面的指針結(jié)構(gòu)insert和splice操作不會使任何迭代器失效erase只會使被刪除元素的迭代器失效其他迭代器全部保持有效push_back、push_front同樣不會讓已有迭代器失效前提是分配內(nèi)存不拋異常對比一下vectorvector只要發(fā)生擴(kuò)容所有迭代器全部失效erase中間元素后面所有迭代器全部失效。list之所以能這么穩(wěn)根源就在于它不搬元素節(jié)點(diǎn)地址一旦確定就不變。但請注意list的節(jié)點(diǎn)地址不變不代表引用永遠(yuǎn)有效。如果那個(gè)元素本身被erase了你手里還攥著指向它的迭代器那依然是懸空指針。可靠不等于萬能這句話下面還會反復(fù)提到。3. 核心操作源碼拆解push、insert、erase是怎么改指針的3.1 push_back的完整鏈路push_back是所有操作里最簡單直觀的順著它看整個(gè)插入機(jī)制void push_back(const T x) { _M_insert(end(), x); } void _M_insert(iterator __position, const value_type __x) { _List_nodeT* __tmp _M_create_node(__x); // 分配節(jié)點(diǎn)拷貝構(gòu)造 __tmp-_M_hook(__position._M_node); // 把節(jié)點(diǎn)掛到position前面 }_M_create_node負(fù)責(zé)兩件事用分配器分配一塊sizeof(_List_nodeT)的內(nèi)存然后在上面執(zhí)行T的拷貝構(gòu)造。這一步如果拋異常內(nèi)存會正確回滾這是異常安全的基礎(chǔ)。真正改變鏈表結(jié)構(gòu)的是_M_hook它是從SGI STL時(shí)代流傳下來的經(jīng)典四步指針操作void _M_hook(_List_node_base* __position) { this-_M_next __position; this-_M_prev __position-_M_prev; __position-_M_prev-_M_next this; __position-_M_prev this; }逐行解釋一下假設(shè)要在節(jié)點(diǎn)P前面插入新節(jié)點(diǎn)NN-_M_next P新節(jié)點(diǎn)后繼指向PN-_M_prev P-_M_prev新節(jié)點(diǎn)前驅(qū)指向P的前驅(qū)P-_M_prev-_M_next NP原來的前驅(qū)的后繼指向N第一個(gè)斷開的鏈接在這里接上P-_M_prev NP的前驅(qū)指向N步驟3和4的順序不能顛倒因?yàn)榈?行要用到的P-_M_prev在第3行執(zhí)行后還保留著舊值。實(shí)際執(zhí)行時(shí)第2行已經(jīng)先把舊前驅(qū)保存到了N-_M_prev里所以第3行和第4行的先后其實(shí)就變得不敏感了。但在自己手寫鏈表時(shí)我強(qiáng)烈建議用局部變量先保存舊前驅(qū)再改指針這樣最不容易出錯(cuò)。3.2 insert任意位置插入的通用原語push_back只是insert在end()位置的特例。insert(position, x)的正確定義是在position指向的元素之前插入新元素返回新插入元素的位置。iterator insert(iterator position, const T x) { _List_nodeT* __tmp _M_create_node(x); __tmp-_M_hook(position._M_node); return iterator(__tmp); }這段代碼提示我們一個(gè)很容易忽略的事實(shí)list的insert返回的是指向新節(jié)點(diǎn)的迭代器而vector::insert返回的是指向最后一個(gè)插入元素的迭代器。兩者默認(rèn)行為都是在pos之前插入但返回值語義相同只是list的O(1)和vector的O(n)差距明顯。如果需要批量插入同一個(gè)值n次標(biāo)準(zhǔn)庫內(nèi)部會循環(huán)調(diào)用_M_insert每次新建獨(dú)立節(jié)點(diǎn)。這里沒有做一個(gè)節(jié)點(diǎn)存多個(gè)值之類的優(yōu)化因?yàn)殒湵淼脑O(shè)計(jì)就是每個(gè)元素一個(gè)節(jié)點(diǎn)。3.3 erase從鏈表里摘下節(jié)點(diǎn)刪除操作比插入稍微多幾個(gè)步驟因?yàn)槌烁膶懼羔樳€要釋放資源和內(nèi)存void _M_unhook() { _List_node_base* __next this-_M_next; _List_node_base* __prev this-_M_prev; __prev-_M_next __next; __next-_M_prev __prev; } iterator erase(iterator position) { _List_nodeT* __victim static_cast_List_nodeT*(position._M_node); __victim-_M_unhook(); // 1. 斷開前后指針 // 2. 調(diào)用T的析構(gòu)函數(shù) // 3. 釋放節(jié)點(diǎn)內(nèi)存 return iterator(position._M_node-_M_next); // 返回被刪元素的后繼 }_M_unhook做的是_M_hook的逆操作讓前驅(qū)的_M_next直接指向后繼讓后繼的_M_prev直接指向前驅(qū)被刪除的節(jié)點(diǎn)就從鏈表上脫落了。注意三點(diǎn)。第一返回的迭代器指向被刪元素的下一個(gè)位置這是為了配合it lst.erase(it)這種慣用寫法。如果你寫成lst.erase(it)然后繼續(xù)用it就是未定義行為——it已經(jīng)懸空了。第二刪除后必須調(diào)用析構(gòu)函數(shù)。T可能有內(nèi)部資源比如string的堆內(nèi)存漏掉析構(gòu)就是內(nèi)存泄漏。標(biāo)準(zhǔn)庫的做法是先讓節(jié)點(diǎn)的數(shù)據(jù)成員執(zhí)行析構(gòu)再釋放節(jié)點(diǎn)內(nèi)存。第三_M_unhook不關(guān)心哨兵節(jié)點(diǎn)。如果刪除的是最后一個(gè)有效元素那么__prev和__next都是哨兵節(jié)點(diǎn)它們互相指向?qū)Ψ芥湵砘氐娇諣顟B(tài)。哨兵節(jié)點(diǎn)讓這種情況不需要任何if判斷。3.4 spliceO(1)的鏈表拼接list有一個(gè)其他容器都沒有的成員函數(shù)——splice作用是把一個(gè)鏈表的一段元素整體轉(zhuǎn)移到另一個(gè)鏈表時(shí)間復(fù)雜度O(1)。void splice(iterator position, list x) { if (x.empty()) return; // 把x的整個(gè)鏈表段轉(zhuǎn)移到position之前 position._M_node-_M_transfer(x.begin()._M_node, x.end()._M_node); }底層實(shí)現(xiàn)的核心是_M_transfer——將[first, last)區(qū)間整體移動到position之前。這個(gè)操作只需要修改三個(gè)節(jié)點(diǎn)的指針不復(fù)制任何元素所以是常數(shù)時(shí)間。std::list::splice配合splice還能實(shí)現(xiàn)O(1)的移動單個(gè)元素和合并兩個(gè)鏈表片段。這在某些場景下極其有用比如實(shí)現(xiàn)維護(hù)按時(shí)間排序的任務(wù)隊(duì)列時(shí)把一個(gè)任務(wù)從一個(gè)隊(duì)列挪到另一個(gè)隊(duì)列splice比eraseinsert快一個(gè)數(shù)量級——因?yàn)樗鼔焊粯?gòu)造和析構(gòu)元素。4. 內(nèi)存占用與性能畫像list到底省了什么、貴在哪里4.1 節(jié)點(diǎn)分配每次插入都是一次堆分配這是list最容易被忽視的性能代價(jià)。vector::push_back在容量足夠時(shí)只是拷貝元素到預(yù)先分配的內(nèi)存里不涉及堆分配而list::push_back每次都要調(diào)用分配器申請一塊新內(nèi)存。以64位系統(tǒng)下的listint為例每個(gè)節(jié)點(diǎn)24字節(jié)其中只有4字節(jié)是你的數(shù)據(jù)20字節(jié)是管理開銷16字節(jié)指針4字節(jié)填充。如果存儲的是int這種小對象list的賬面性能非常難看。默認(rèn)情況下list使用標(biāo)準(zhǔn)分配器std::allocatorT底層是new/delete。頻繁插入刪除會導(dǎo)致大量小內(nèi)存塊的分配與釋放可能帶來碎片化和性能抖動。某些舊實(shí)現(xiàn)里list有專門的內(nèi)存池來緩解這個(gè)問題現(xiàn)代標(biāo)準(zhǔn)庫默認(rèn)不再做節(jié)點(diǎn)池把內(nèi)存策略交給使用者通過Allocator模板參數(shù)定制。4.2 list vs vector vs forward_list一張表看懂維度vectordequelistforward_list底層結(jié)構(gòu)連續(xù)數(shù)組分段連續(xù)數(shù)組雙向鏈表單向鏈表隨機(jī)訪問O(1)O(1)O(n)最低效O(n)中間插入刪除O(n)且搬移元素O(n)但仍搬移O(1)改指針O(1)改指針頭插/頭刪O(n)O(1)O(1)O(1)尾插/尾刪O(1)攤還O(1)O(1)O(n)迭代器失效門檻擴(kuò)容全失效、中途插入后移中間插入失效較多僅刪除元素失效僅刪除元素失效內(nèi)存開銷/元素低可能有預(yù)留中等高兩指針對齊低一指針反向遍歷支持支持支持不支持默認(rèn)排序std::sortstd::sort成員函數(shù)list::sort成員函數(shù)forward_list::sort我把這個(gè)表格當(dāng)作選型時(shí)的決策參考要隨機(jī)訪問就vector要兩端操作就deque要中間插入且迭代器穩(wěn)定就list想省一個(gè)指針的內(nèi)存且只需單向遍歷就forward_list。4.3 什么場景真正需要list根據(jù)我自己的項(xiàng)目經(jīng)驗(yàn)適合list的場景大致有三個(gè)特征已知位置的頻繁插入刪除。如果你總是需要先find再插入那find本身O(n)的代價(jià)可能淹沒插入O(1)的好處此時(shí)vector二分未必更差。迭代器需要長期保持穩(wěn)定。比如管理一堆對象其他地方長期持有指向這些對象的迭代器且這些對象會被刪除和新增。這時(shí)list的非刪除元素迭代器永不失效特性極其寶貴。元素本身不適合移動。C11以后移動語義緩解了vector的拷貝代價(jià)但某些類型依然移動成本高或不可移動而list插入時(shí)只需要初始化新節(jié)點(diǎn)從不搬動已存在元素。反過來遍歷為主的算法千萬別用list。鏈表節(jié)點(diǎn)在堆上分散遍歷時(shí)每次都要跳到一個(gè)隨機(jī)地址緩存局部性極差。實(shí)測大量場景下listint的遍歷性能比vectorint慢一個(gè)數(shù)量級都不奇怪。5. 實(shí)戰(zhàn)坑點(diǎn)速查迭代器失效、性能誤判與排查經(jīng)驗(yàn)5.1 迭代器失效的經(jīng)典陷阱e(cuò)rase的返回值最經(jīng)典的錯(cuò)誤是這樣寫std::listint lst {1, 2, 3, 4, 5}; for (auto it lst.begin(); it ! lst.end(); it) { if (*it % 2 0) { lst.erase(it); // 錯(cuò)誤erase后it失效再是未定義行為 } }正確寫法是for (auto it lst.begin(); it ! lst.end();) { if (*it % 2 0) { it lst.erase(it); // erase返回下一個(gè)迭代器 } else { it; } }這里要特別澄清一個(gè)流傳很廣的誤解在list里erase后直接丟棄返回值、然后it通??雌饋硪材芘芤?yàn)楣?jié)點(diǎn)雖然被釋放但指針值還沒變。這是典型的碰巧沒崩不是合法行為。調(diào)試器查不出來不代表沒問題使用懸空迭代器就是未定義行為。5.2 遍歷中刪除多個(gè)節(jié)點(diǎn)的安全姿勢除了erase返回值還有一個(gè)替代方案被不少老項(xiàng)目使用——remove_iflst.remove_if([](int x) { return x % 2 0; });remove_if是list的成員函數(shù)底層等價(jià)于遍歷erase但它把刪除邏輯封裝好了不會出現(xiàn)迭代器失效問題。標(biāo)準(zhǔn)庫還有remove刪除所有等于某值的元素、unique刪除相鄰重復(fù)、merge歸并兩個(gè)有序鏈表等成員函數(shù)它們都比手寫循環(huán)更安全。用成員函數(shù)而不是算法有一個(gè)技術(shù)原因很多標(biāo)準(zhǔn)算法依賴隨機(jī)訪問迭代器而list只提供雙向迭代器。std::remove能在list上運(yùn)行但它的返回值對list沒什么意義因?yàn)樗荒苷娴氖湛s容器必須配合erase使用而且中間過程會搬移元素——和list的設(shè)計(jì)思想沖突。凡是list獨(dú)有的成員函數(shù)盡量優(yōu)先用成員版本。5.3 排序別用std::sort另一個(gè)高頻報(bào)錯(cuò)是std::sort(lst.begin(), lst.end()); // 編譯錯(cuò)誤沒有隨機(jī)訪問迭代器std::sort要求隨機(jī)訪問迭代器list的雙向迭代器不滿足。正確做法是用lst.sort()。list::sort的實(shí)現(xiàn)通常是歸并排序也有混合插入排序的優(yōu)化版本時(shí)間復(fù)雜度O(n log n)但它不需要隨機(jī)訪問也不需要額外的大塊內(nèi)存只要求能雙向遍歷。注意std::stable_sort也不能用于list。如果面試或筆試?yán)镉龅饺绾谓o鏈表排序這類題答案既可以是list::sort也可以自己寫歸并排序——自己寫歸并排序時(shí)遞歸式地拆鏈表、合并同樣只需要雙向迭代能力。5.4 性能誤判l(wèi)ist不總是快好幾次聽人說我用了list所以插入刪除就是O(1)性能肯定沒問題。這種說法忽略了前置條件。我做過一個(gè)簡單測試在100萬個(gè)元素的容器中間循環(huán)插入和刪除位置已知的元素list確實(shí)比vector快很多但如果是隨機(jī)遍歷一遍再插list因?yàn)榫彺娌挥押每偤臅r(shí)反而可能超過vector。還有個(gè)容易被忽略的角度節(jié)點(diǎn)大小。如果T本身很大比如一個(gè)幾百字節(jié)的結(jié)構(gòu)體list節(jié)點(diǎn)里多出兩個(gè)指針的開銷占比就變小了list的優(yōu)勢會被放大。反之如果T是int、bool這類小對象list等于每個(gè)元素平白多付16字節(jié)的管理成本數(shù)據(jù)量一大內(nèi)存占用和緩存性能都吃虧。5.5 調(diào)試建議看看節(jié)點(diǎn)長什么樣排查鏈表相關(guān)問題時(shí)我習(xí)慣把核心邏輯簡化成最小可復(fù)現(xiàn)demo再配合gdb或者打印節(jié)點(diǎn)地址驗(yàn)證。比如懷疑迭代器失效就在erase前后打印迭代器指向的節(jié)點(diǎn)地址你會發(fā)現(xiàn)erase后那個(gè)地址的節(jié)點(diǎn)已經(jīng)被釋放往里面讀數(shù)據(jù)就是踩野指針。如果你在閱讀標(biāo)準(zhǔn)庫源碼認(rèn)準(zhǔn)幾個(gè)關(guān)鍵函數(shù)_M_hook插入、_M_unhook摘除、_M_transfer區(qū)間轉(zhuǎn)移。這三個(gè)函數(shù)理解了list的絕大部分成員函數(shù)都能找出脈絡(luò)。其他函數(shù)無非是組合它們再加上分配、析構(gòu)、異常處理。最后一個(gè)經(jīng)驗(yàn)分享寫自定義鏈表時(shí)先實(shí)現(xiàn)哨兵節(jié)點(diǎn)再實(shí)現(xiàn)插入刪除。沒哨兵節(jié)點(diǎn)的鏈表每個(gè)操作都要小心翼翼判斷頭尾代碼又長又容易漏。照著list的設(shè)計(jì)先定義一個(gè)哨兵頭節(jié)點(diǎn)插入刪除的四步指針操作就能和標(biāo)準(zhǔn)庫一樣干凈。這個(gè)設(shè)計(jì)思路不光適用于C的鏈表很多環(huán)形隊(duì)列、LRU緩存之類的結(jié)構(gòu)都可以借鑒把邊界特判消滅在每個(gè)數(shù)據(jù)結(jié)構(gòu)自己的實(shí)現(xiàn)里而不是責(zé)怪調(diào)用者不小心。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美日韩AAA| 久色| 丁香五月天堂婷婷| 久久这里只有国产视频| 51XX嘿嘿午夜无码| 丁香婷婷六月天| 91ncm视频| 婷婷五月 丁香六月| 天天天天天天操| 五月开心婷婷极品激情| 婷婷五月欧美综合| 亚洲第一第二网站| 97九色视频| 人妻自慰高清合集| 国产综合视频婷婷| 色狠狠色噜噜AV天堂五区| 管管補管管紱| 久久丁香婷婷五月| 26uuu最新地址| 婷婷五月天美女| 四虎国产精品永久在线国在线| 免费99情趣网视频| 色综久久久| 99精吕视频在线观看了| 九久9精品| 日韩999| 天天草婷婷五月| 激情婷婷狠狠干综合| 开心五月综合| 超碰在线精品| 精品热九九| 五月综合无码| 五月天婷亚洲天综合网综合 | 狠狠狠狠狠狠狠狠| 丁香色情五月综合网站| 婷婷射丁香| 丁香五月激情啪啪| 婷婷免费视频| 色色影院aaaav| 亚洲欧美综合7777色亭亭| 色婷婷成人| 天天综合网91| 六月丁香婷婷爱| 久久这里只精品| 99九九热视频| 无码AV久久久久久久久| 天天日日夜夜| 99热欧| yw国产AV| 午夜婷婷| 天天操婷婷| 91九色精品女同系列| 色婷婷激情| 五月丁香欧美在线| 影音先锋色色色资源色资源色| 国产AV影片| 殴美综合激情五月天免费视频| 六月婷婷深深爱| 午夜伊人大香蕉| 丁香六月婷婷色播| 深爱激情AV| 色婷婷文字幕| 婷婷五月综合国产精品| 五月丁香亚洲综合| 天天日天天舔| 久热A| 九九精品热| 伊人婷婷99热精品| 97色碰| 婷婷五月天色播| 成人深爱丁香五月| 伊人色综合影院视频| 五月丁香婷婷钟和色图| 五月亭亭开心网| 国产性爱亚洲是图| 婷婷播播五月天| 五月婷啪啪| 九九婷婷激情综合网| 久激情网| 日韩av在线免费观看| 91dy.av| 丁香五月天.com| 激情98色婷婷五| 婷婷色导航| 玖玖资源站中文| 狠狠狠婷婷五月综合| 99在线视频女女视频| 白人荫道BBWBBB大荫道| 色五月婷婷网| 99在线69| 久久女人天堂| 日本激情91| 五月花婷婷丁香| 九月丁香婷婷综合激情| 色婷婷电影网| 999婷婷综合| 超碰自拍天堂| 欧美日韩色色| 激情AV综合| 99色色网| 婷婷丁香六月| 日日夜夜婷婷| 五月婷婷大香蕉| 成人va视频| 激情五月婷在线精品| 韩国情人在线电视剧免费观看高清版全集 | 久久婷婷电影| 综合另类激情| 99热久久这里只有精品| 国产精品国产成人国产三级| 91九色在线| 五月天激情视频| 丁香五月冃欧美| 九月婷婷综合八月丁香在线观看| 少妇丁香婷婷 | 亚洲成人网在线观看| a性生活久久无| 婷婷成人视频| 在线只有精品| 乱岳熟女50岁| 琪琪色网在线| 婷婷中文综合网| 五月天综合在线网| 97丁香视频| BlACKEDRAW视频一区二区| 99re这里只有| 国产精品日韩十五区| 丁香五月婷婷姐| 色五月无码| 九九AV| 色情综合| 亚洲视频在线观看99| 99亚洲天堂| 欧美日韩91| 黄色三级日本| 亚洲婷婷月丁香五月| 黄色aaaaa| 大香蕉九九| 99自拍视频在线| 91中文在线| 99免费综合网| 五月婷婷中文网| 韩国婷婷丁香五月| 五月激情婷婷国产精品久久久久久| 夜夜 操无码| 色婷婷免费观看| 91天天操天天干天天射| 五月丁香婷婷久久| 婷婷开心久久| www.久久爱.com| 婷婷综合在线| 99久久网站| 色爱综合网| 久99婷婷色综合| 99热xx| www色哟哟| 啪啪色激情五月天| 女婷久久| 日本性激情色播| 丁香五月综合AV在线| 开心激情婷婷| 天天天天操| 少妇熟女视频一区二区三区| 无码成人AAAAA毛片AI换脸| 国产精品久久久爽爽爽麻豆色哟哟 | 91视频精品99| 色婷婷丁香A片区毛片区女人区| 狠狠精品干练久久久无码中文字幕| 天天日天天肏天天奸| 婷婷伊人综合| 五月天综合在线| 在线,国产,色,热视频| 丁香婷婷啪啪啪| 综合网视频| 五月婷婷99热| 久久R激情| AV在线收看| www.久久爱| 婷婷五月丁香高清无码| 天天插综合网| 国产69久久久欧美黑人A片| 激情五月婷婷综合网| 欧美毛卡| 婷婷色色综合激情| 五月天婷婷免费视频| 久久99网| 超碰色天堂| 91碰碰| 毛片新网地| 亚洲五月丁香六月婷婷| 无码免费人妻A片AAA毛片西瓜| 色五月婷婷天堂| 国产婷婷色五月| 五月天三级| 婷婷五月婷| 欧美人妻一区二区| 色yeye色综合| 2025天天爽天天摸| 五月天啪啪| 一本到不卡高清DVD| 久久婷婷色综合| 亚洲天天免费| 五月天成人综合| 天堂伊人干| AAA久久久AAA久久久AAA| 久久99这里只有精品| 这里只有精品9| 五月综合色| 91丨九色丨首页| 久久久97| 五月婷婷导航| 任你搞在线观看视频| 激情深愛五月視頻| 久草性爱| 20253AV| 久久婷婷激情| 无码人妻一区二区三区免费九色| 天天做天天爱天天爽| 涩玖玖免费视频| av在线超清中文| 少妇性按摩无码中文A片| 精品夜夜澡人妻无码AV| 丁香六月婷| 天天日夜夜夜操操操操| 激情小说五月天| 97爱综合| 色色色免费视频| 九月丁香婷婷| 久久资源网五月婷| 丁香五月成人婷婷| 久久网址99热| 人人爱人人添| 激情综合视频| 五月婷婷丁香大陆免费| 热九九精品| 女同激情久久av久久| a久久免费视频| www色色色com| 一起草无码视频| 色玖玖导航| 六月丁香婷婷爱| 五月丁香六月激情网| 五月丁香黄色视频| 一起肏在线视频| 五月婷婷精品无在线| 色九月婷婷| 色五月色五天色情网| 天天插天天日| 日本天堂免费99| 日本 @ va 免费| 91超级碰| 天天摸天天爽| 青青草国产亚洲精品久久| 色9999日韩国产| 色色激情五月| 丁香花五月天激情| 美日韩成人| 欧美图片丁香五月天| 国产午夜一区二区三区| 欧美婷婷综合网| 五月婷婷五月天亚洲无码| 91无码一区人妻A片蜜| 色色免费网站| 五月婷婷六月天| 91日本在线| 午夜九九九九九九九九九九九九九| 婷婷色色综合| 五月天色婷婷网| 欧美在线ee日韩| 色青五月天| 免费观看全黄做爰的视频| 99亚洲综合| 色色色色网站| 丁香五月婷婷丫| 欧美电影在线观看| 色久综合天天做视频| 91肏肏肏| 欧美色色网| 九月婷婷激情久久| 色九九九九| 天天综合五月天| 亚洲婷婷基地| 这里只有精品偷拍| 爽tv | 激情综合网亚洲色图| 这里只有精品96| 五月天婷婷深深爱| 婷婷五月天午夜激情影院| 激情婷婷六月天| 五月天婷综合| 狠狠狠狠狠| 99成人精品六| 日本高清不卡免费一区二区三区| 亚洲色色色| 色色色在线| 日韩操人| 99在线视频在线观看| 牛牛澡牛牛爽| 四色AVwww| 亚洲AV无码一区二| 婷婷操久久| 9999热在线免费观看| 五月丁香婷婷综合网| 激情综合青草| 久久黄色片| 久久这里有精品视频| 婷婷亚洲久久| 开心激情婷婷| 五月丁香另类图片| 婷婷激情四射| 亚洲日比视频| 亚洲午夜AV| 丁香五月老师| 99碰网站| 国产精品第一国产精品| 久re热视频| 激情深爱五月婷婷| 婷婷热色| 婷婷香五月天| 激情99在线视频| 久久婷婷网站| 色婷婷狠狠禁18久久| 五月婷婷六月情| se99高清无码| 婷婷综合在线视频| 91碰碰碰| 97干视频在线| 2w在线视频| 五月婷婷深深爱| 五月丁香激情啪啪| 五月婷丁香| 天天操夜夜啊| 啪啪黄页网| 久久五月天色婷婷| 高清无码中文字幕aVDV| 67194成I人在线观看线路1| 老师的粉嫩小又紧水又多A片视频| 五月停停激情网| 久久精品婷婷| 97碰碰免费.视频| 成人五月丁香社区| 亚洲色激情| 韩国情人在线电视剧免费观看高清版全集| 久久婷婷丁香| 色婷婷啪啪| 夜精品无码A片一区二区蜜桃| 欧美影院| 欧美激情综合五月色丁香| 5月激情天| 色色草97| 日本精品人妻无码77777| 欧美性爱五月天| 激情六月五月婷婷综合网| 噜噜狠狠色综合久| www五月婷婷| 色噜噜狠狠色综无码久久合欧美| www.天天干.com| 色综合99无码 | 97 A I色色| 丁香婷婷中文字幕| 色婷婷五月天天天做| 香蕉视频91| 日韩久久系列| 亚洲亚洲人成综合网络| 99亚州综合精品成人网| 啪啪 综合网| 亚洲婷婷婷| 久久99婷婷| 国产亚洲成人综合| 五月丁香综合色婷婷| 五月丁香六月在线| 色玖玖综合网| www.99日本| 丁香婷婷激情网站| 欧美色小说婷婷| 色色日韩| 九九Av| 免费97碰碰| 婷婷丁香五月天操逼| 天天操夜夜操| 丁香网站| 中文字幕无码人妻少妇免费视频 | 五月天丁香久久| 亚洲永远av在线播放| 亚洲第一成人无码A片| 精品久久人妻| 99热亚洲| 日本天天色| 久久最新色| 激情五月丁香六月综合AVXXXX| 丁香五月亚综合图片| 欧美激情综合色综合色| 夜夜夜夜撸夜夜操| www.狠狠操| 九九激情| 97久久草草超级碰碰碰| 九九99久久| 狠狠干夜夜干| 激情五月天婷婷| 色婷婷激情| 狠狠操狠狠插| 精品热青草| 婷婷久久爱| 综久久久| 丁香五月情| 亲子乱AV一区二区三区下载| 人人玩人人橾| 影音先锋 婷婷| 天天色综合网1| 99爱视频在线播放| 99久久婷| 婷婷中文字幕| 依人大香蕉在钱1| 丁香五月激情啪啪啪| 色99www.| 97碰在线视频| 色婷婷综合中心| 天天天日天天天干| 丁香五月人妻| 丁香五月婷婷基地| 伊人天堂婷婷| 国产精品色婷婷99久久精品| 丁香六月色香蕉视频| 69五月天视频| 色五月婷婷亚洲| 婷婷五月色综合| 狠狠干狠狠色| 伊人网色婷婷五月天| 免费看片在线观看| 99久久九九| 色。 日日日| av五月天婷婷丁香| 成人AV在线网站| 天天日夜夜爽| OUMEIRIHANCHENGREN| 亚洲在线操| 亚洲性爱99| 五月天婷婷青青草| 婷婷五月天激情小说| 思思热在线观看| 亚洲人成网站999综合| 激情久久久久久久久久久| 激情久久四色| 丁香五月Av| av九九| 人妻无码视频网| 伊人玖玖婷婷| 先锋资源996| 五月婷婷丁香婷婷| 激情丁香五月| 婷婷五月色影视先锋| 天天免费成年人视频| 玖玖资源站中文| 色综合色综合网| 狠狠色综合五月人人| 天天综合五月| 中文字幕久久一区二区三区| 婷婷色网| 日日噜噜久久婷婷五月天| 九九国产精视频| 婷婷丁香人妻天天久久| 天天日天天操心| 久久网址99热| 情五月亚洲婷婷| 激情五月天网站| 俺也去色| 久久婷婷五月综合色奶水99啪| WWW.桔色成人.COM入口| 99热老司机| 蒲京久久无码视频| 六月丁香基地| 综激情网| 亚洲热久| 六月天丁婷婷| 99热超碰| 丁香六月婷婷综合激情欧美| 99A片| 精品国产乱码久久久久夜深人妻| 第2色五月婷| www.97视频| 日本黄色一级| 久久欧洲久久| 激情五月天综合网| AV网址大全在| 五月天五月婷五月激情网| 欧美日朝成人| 久久久欧美精品sm网站| 洗浴中心操B视频| 色五月综合| AV在线大香蕉| 狠狠干综合网| 久草网大香视频| 99热精这里只有精品| 九九热99热| www.日本91| 79色色色色| 老师的粉嫩小又紧水又多A片视频| www色五月| 五月天狠狠| 九九色网专区| 久久五月天黄色五月天色网址| 色婷婷丁香五月| 4399高清无码视频| 99精品在这里| 色婷婷色综合| 六月 丁香 视频| 97色五月婷婷在线| 操逼123网| 99色在线| 亚洲色色图片| 激情五月婷婷| 欧美丁香六月在线观看视频| 久久曰曰| 69堂午夜视频最新地址| 色五月天电影| 婷婷成人综合| 激情五月激情综合网| 综合另类视频| 久久多色| 久婷| 九九色精品| 色播婷婷大香蕉| 激情综合在线观看| 五月婷婷啪啪网| 色色色婷| 色激情综合| 无码啪啪| 99热情这里只有精品在线播放| 五月丁香激情综合| 丁香六月婷婷久久综合| 五月天综合视频| 中文激情网| 久久久久久久久久8888| 五月天丁香六月综合| 婷婷五月天堂| 91艹人| 青柠影视免费高清电视剧| 2025最新亚洲激情在线| 国产,欧美,学生妹,视频| 成人AV在线网站| 激情五月丁香五月色| 99热这里只有精品23| 国产精品美女久久久久AV超清| 99精品视频免费观看,| 一级片操逼视频| 狠狠色婷婷六月激情网| www.爱婷婷.com| 五月婷婷中文字幕AV| 99在线热视频| 五月天激情电影| 五月天婷基地| 4438亚洲欧美| 亚洲精品大片| 99热这里只有精品1025| 国产激情视频在线观看| 99爱最新免费视频在线观看| 色婷婷久久7777| 五月天综合在线观看视频| 五月天婷婷色色网| 第五色婷婷| 色情五月天se| 97超碰在线观看免费| 激情综合99| 婷婷爱在线观看| 国产精产国品一二三在观看| 天天爽天天做| 99riAV国产精品视频| 丁香婷婷基地| 婷婷伊人久久综合| 色欲五月婷婷| 99色在线| 人妻久久久久久久 | 99激情视频| 玖玖资源天天无码| 黄色精品五月婷婷| 成人精品视频99在线观看免费| 婷婷五月六月激情| 91色噜噜狠狠狠狠色综合| 五月天丁香网| 99热精品中文字幕| 天天综合情| seuuu婷婷| 色婷婷AV在线| 久久午夜理论| 婷婷五月精品中文字幕| 天天综合精品| 久久久这里都是精品| 国产偷人爽久久久久久老妇APP| 五月婷婷影| 五月丁香| 九九精品碰| 99热免| 性99网站| 99久热在线精品| aaa久久久| 激情久久肏屄视频| 色丁香五月综合网| 色9999日韩国产| 97碰碰九九视频| 日本久久人人| 99热只有精| 五月天激情四射| 任你干aa| 99久久综合网| h亚洲| 思思久久思思| 五月婷亚洲精品AV天堂| 激情婷婷。| 日本综合久久| 亚洲激情综合| 亚洲婷婷五月天激情综合| 婷婷五月天黄色| 9l视频自拍九色9l黑人| 超碰碰碰碰| 无码橾| 玖玖福利视频资源| aaaaa黄色| 91热手机在线| 九九色婷| 亚洲综合五月天婷婷丁香| 色你久久| 色色色无码| 天天干夜夜b| 五月激情视频| 日本色色网站| 超碰免费人人肏| 五月丁香狠狠爱| 九九热啪啪| AV五月婷婷露脸| 激情婷婷丁香色五月综合| 婷婷五月丁香六月| 婷婷欧美激情| 五月丁香婷婷老司机| 影音先锋女人AA鲁色资源| 五月婷婷啪啪网| 国产精品VA在线| 天天擼久久擼在线| 色五月aV| 亚洲人人96@| 亚洲第一黄网| 五月天婷婷色色网| 99视频91| 国产精品成人网站| 亚洲啪| 91麻豆国产三级精品福利在线观看| 五月丁香六月婷婷网| 欧美综合五月丁香六月婷| 婷婷婷婷婷婷婷五月丁香| 五月开心啪啪| 呦呦AV| 很很操很很操| 色五月激情五月丁香五月婷婷啪啪综合| 丁香九月婷| 天天日夜夜欢| 大香蕉伊人99| 人人澡玖玖一| 男人天堂99| 激情亚洲婷婷| 无码yw| 日韩久综合| 久久99jiu9| AV在线二十六页| 激情综合五月丁香六月婷婷| 97午夜一区二区| 一区二区成人电影免费播放| 综合色色五月| 五月婷婷久久大片| 超极99精品| 9色资源在线| www.ywav| 97性高潮久久久| 天天透天天干| 亚洲五月激情| 天天久综合网永久入口17v| 婷婷情色五月天| 亚洲啪啪视频| 婷婷五月色播网| site:hcxsz888.com| 六月丁香激情综合网| 国产亚洲精品人人| 日本在线视频手机播放五月婷| 久热这里这里有精品| 日本婷婷综合精品| 思思热热久久| 热久久99热欧美国产亚洲| 91精品综合久久久久久五月丁香| 亚洲另类视频| 色天堂在线| 久热人妻| 97人人草| 丁香婷婷AV| 91热久| 久久丁香五月| 99色这里| 婷婷丁香五月欧美人| 男人的天堂五月丁香| 十一月婷婷激情四射| 婷婷五月天堂| 涩五月婷婷| 丁香激情综合| 亚洲熟女乱色综合亚洲网站| 久热久| 五月婷婷少妇之| 五月天激情视频网站| 五月婷婷啪啪| 思思久久精品| 九九婷婷五月天| 91操在线观看| 天天综合情| 五月天成人手机在线视频| 激情丁香五月天图片| 色玖玖爱| 国产精品久久久爽爽爽麻豆色哟哟| 色婷婷亚洲综合天堂| 五月天三级久久| 美女五月激情| 五月丁香六月婷婷在线观看| 67194成I人在线观看线路1| 久久五月综合| www.久操| 婷婷在线播放av| 99精品在线下载| 啪啪色区| 午夜69成人做爰视频| 日韩天堂久久| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 久久开心五月婷婷| 色婷婷综合久久久久| 中国女人内射6XXXXX| 性爱网六月丁香| 久久色五月天| 日日噜狠狠色综合久| 99视频在线| 九九中文色色| 五月丁香婷婷网网网网| 五月天涩涩| 亭亭玉月丁香| 人人97操| 99re这里只有精品免费| 殴美综合激情五月天免费视频| 久久九九综合| 开心五月婷婷综合在线精品素人| 色综合久久五月| 五月丁香六月婷婷姐| 91丨九色丨东北熟女| 亚洲综合成人网站| 五月丁香六月色情网欧美| 99热精品在线观看| 不卡在线视频| 九九色综合| 婷婷六月丁| 大地9中文在线观看免费高清| av无码电影| 99热这里只有精品33| 九月激情网| 九97免费视频| 婷婷五月俺要去| 久久婷婷网| 7777久久亚洲中文字幕| 色9色| 日韩色五月| 五月婷无码| 天天色爽| se99视频| 九九人人精品| 久久er99| 超碰日韩成人| 婷婷色色狠狠| 色婷婷欧美| 五月丿香啪啪| 婷婷五月丁香久久| 专区无日本视频高清8| 久久激情五月天| 五月婷婷综合在线视频小说| 日韩av一区二区在线/日产精品久久久| 999婷婷综合| 九九热最新地址| 综合色、色综合| 蜘蛛女免费观看完整版高清电影 | 99九九在线观看免费| 国产操逼视频网站| 久久久精久人妻| 99热这里只有精| 99成人网一区| 欧美精品999| 操久久精| 日韩啊啊啊| 色八戒操婷婷| 狠狠色噜噜狠狠狠888了| 99成人| 天天舔天天插天天爱| 久婷五月| 中文字幕av久久爽一区| 日韩综合久| 狠狠九九婷婷韩| 五月婷婷六月丁香综合| 久久久久久久91| 丁香五月天激情AV| 任你躁XXXXX麻豆精品| 婷婷成人在线| 色婷婷成人做爰A片免费看网站| 五月份婷婷| 99re8这里只有精品99re8热视频| 成人做爰高潮A片免费视频| 99成人网一区| 婷婷97| 九月婷婷久久| 五月丁香777| 99精品在线观看| 色综合激情| 五月丁香六月婷| www.久久爱| 久久综合99| 中文av网| 婷婷AV丁香| 噼里啪啦完整版中文在线观看| 热99精品视频观看| 亚洲成av人影院| 欧爱综合视频| 狠狠ri| 色综合色色色色色| 91伦| 国产日韩欧美性爱| 九九热99免费视频| 亚洲中文字幕网| 婷婷八月激情| 国产乱妇无乱码大黄AA片| 激情五月天开心网丁香无码| 中文字幕 中文字幕明步| 五月四色婷婷| 婷婷五月激情综合网| 五月亭亭六月天| 久久加勒比| 国产精品久久..4399| 人人爽天天莫| 性无码专区无码| 麻豆五月丁香婷婷| 97热超碰| 色狠狠六月| 91人妻人人操| 激情五月丁香婷婷| 久热人妻| 蜜桃人妻无码AV天堂三区| 激情五月天色爱| 91窝窝| 六月婷婷av| 激情综合播播| 婷婷丁香成人色综合| 婷婷五月天视频亚洲| 国产成人在线精品| 婷婷激情五月| 综合激情网激情五月。| 五月天久久网站| 婷婷社区五月天| 五月天色导航| 性爱激情小说AV五月丁香花| 日本九九九九| 五月丁香成人| 色婷婷亚洲在线观看| 大香蕉五月丁香| 2020久久婷婷五月| 超级碰碰碰久久网站| 色婷| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 99热在线中文字幕| 婷婷五月天成人动漫| 亚洲一级 片内射网站在线观看| 色婷五月天| 综合丁香婷婷五月天| 90色免费视频| 超碰在线精品| 欧美丁香六月激情视频| 97综合在线| 五月香六月婷| 99自拍网| 久久久久久久久月丁| 日韩99视频| 99热精在线九九久久保| 日韩AV一区二区三区| 欧美色色色色色| 天天天天爽爽天干| 九九黄色网| 婷婷六久久| 天天天天天日| 婷婷五月花西瓜| 五月丁香| 免费看片在线观看| 99热欧美| 六月婷婷激情| 激情五月亚洲综合网| 亚洲午夜一区二区| 国自产拍偷拍精品啪啪一区二区| 亚洲精品99| 伊人国产婷婷五月天| 九九干视频| 成人 在线观看国产| 色五月婷婷在线| 婷婷丁香人妻久久在线观看| 日韩人妻无码专区| 婷婷五月综合免费在线| 五月婷丁香| 天天综合五月天| 99.色| wwwss在线观看| 婷婷五月六月丁香| 久久在线视频免费观看| 青青草tp| 26uuu精品国产| 2025中文在线视频字幕免费观看| 伊人碰碰婷婷| 久久婷婷原创视频| 超碰99在线观看| 亚洲欧洲色色| 色情五月天丁香社区| 九九九九九九热| 超碰久热| 中文字幕综合网| 色99网站| 精品一区二区三区木瓜| 婷婷久久欧美| 婷婷五月电影| 国产色香蕉精品五夜婷| 天天揷综合网| 97婷婷色| 91操人视频| 天天爱天天狠天天透| 5月丁香六月婷婷| 第二色AⅤ| 婷婷丁香久久| 亚洲性爱电影| 国产操逼网站| 五月婷婷黄网站大全| 疯狂做受XXXX高潮A片动画| 国产亚洲在线观看| 91超级碰在线视频| 色五月AV| www,99热| 婷婷五月天成人网站| 婷婷五月天AV激情| 五月花综合网| 91操碰| 亚洲综合视频在线| 91婷婷伊人牛牛| 97人操| 丁香五月WWW| 韩国97天堂| 99色综合久久| 婷色天堂| 桃色五月婷婷| 日韩久久成人| 婷婷情色开心五月天99| 国产小精品| 俺也去色| 婷婷爱五月| 成功精品影院| 中文字幕 码精品视频网站| 狠狠操婷婷| 99热只有这里才是精品| 色婷婷五月亚洲| 另类激情五月| 五月色婷婷激情| 9999热这里只有精品| 人人干AV| 六月丁香五月激情婷婷| 天天摸天天高潮天天爽| 激情五月天免费视频| 好好干av| 天天操天天草天天草天天| 色狠狠综合| 日韩色色视频www| 色五XX| 99免费热视频在线| 5五月综合网亚洲| 99爱视频| 五月丁香成人| 五月婷婷性爱| 激情深爱五月天| 婷婷综合| 欧美色图片88| a免费在线| 久re在线| 玖玖午夜视频| 99人妻碰碰碰久久久久禁片| 欧美久热| 六月婷婷五月丁香首页| 五月色情婷婷开心五月色情| 欧美噜一噜| 狠狠插日日干撸| www.99热视频| 91日日日| 婷婷五月天亚洲| 思思99热| 毛片九九九九九九九九18| 二区成人视频| 六月婷婷啪啪| 久久这里精彩免费在线观看| 久久黄色免费视频| 天天干天天操天天爱| 婷婷色五月丁香六月欧美啪| 九月综合| 欧洲色色| 色五月丁香A欧美com| 久久青草国| CHINESE熟女老女人HD视频| 色五月婷婷在线观看第一页舔| 亭亭丁香97| 婷婷久久99| 六月丁香基地| 性天天中文网| 伊人网碰碰| 91九九| 国产欧美大香蕉一区| 激情人妻综合| 五月天婷婷午夜丁香| 五月丁香 啪啪啪| 99久视频| 99热最新| 五月丁香亭亭电影久久| 天天se在线视频| 激情综合五月激情17| 天天色天天爱天天爽| WWW.桔色成人.COM| 色色色色综合网| www.色欲丁香婷婷| 综合久久综合久久| 欧美综合婷婷网| 天天插天天爽| 色99在线| 国产免费av网站| 日本91在线| 99热精品9| 久久久久久久久99精品| 成人做爰A片免费看视频| 丁香五夜激情四射夜夜夜| 久久综合激情| 色婷婷先锋| 99久在线视频| 岛国在线观看91| Www99热| 操逼福利视频| 91人操| 九九九九精品精| 激情五月天综合网| 激情丁香网| 亚洲成人av在线| 欧美三9久九观看| 色噜噜夜夜夜综合网| 丁香五月天无码| 在线观看av网站| 日韩一本操| 黄色三级日本| 激情五月色综合| 饮料下药迷倒漂亮女同事强干| 任我肏视频精品| 视频综合网| 久热这里只有| 亚洲愉拍99热成人精品| 国产精品18久久久| 久久婷婷五月综合色奶水99啪| 26uuu欧美亚洲日韩| 精品久久9| 69热91天堂| eeuss人妻| 激情综合五月| 91蝌蚪窝视频在线| 五月天婷婷色色| 亚洲国产精品VA在线看黑人| 色五月激情五月| 99riAv1国产在线观看| 日日日影院| 丁香五月激情五月| 特级操b片| 婷婷五月综合视频| www超碰| 综合网啪啪| 99热无码| 亚洲精品久久久无码| 激情久久久久| 五月婷婷丁香五月天| 亚洲狠狠色丁香婷婷综合久久| 婷婷综合网站| 色噜噜狠狠色综无码久久合欧美| seuuu婷婷| 小视频aaa久久久| 欧美日朝成人| 六月婷婷视频| 激情99在线视频| 亚洲电影在线观看| 无码地址| 大香蕉五月天婷婷| 色综合色色色色| 丁香六月激情网C0W| 色五月情| 五月色情婷婷开心五月天| 色综合综合色| 亚洲成人网站在线| 吉澤明步Av一區二區| 激情五月丁香五月综合| 亚洲激情淫网| 色播五月婷婷| 婷综合| 九九热re99re6在线精品| 极品少妇婷婷五月| 五月丁香婷婷激情澎湃四射| 香蕉久久国产AV一区二区| 五月天婷婷色五月天| 九九综合精品| 婷婷五月天六点丁香五月| 五月天成人免费视频| 九一牛视频探花| 人人人人人人人草| 激情小说色五月| 五月亭亭六月激情| www.五月天婷婷| 狠狠色噜噜色狠狠狠综合色 | 91xxxx九色| 思思国产99| 色综合99色| 久99热| 五月丁香六月综合图| 五月丁香啪啪综合网| 色五月婷婷777| 九九热99精品在线| 精品香蕉99久久久久网站| 色婷婷六月激情| 国自产拍偷拍精品啪啪一区二区| 99丁香五月婷| 99色色网| 亚洲激情五月婷婷日日| 免费视频WWW在线观看网站| 久久亚洲精品成人无码网站导航| 色五月网址| 人人爱天天摸摸天天爱| 极品少妇高潮啪啪AV无码| 五月婷婷六月丁香激情综合网| 色婷婷成人做爰A片免费看网站| 色五月婷婷丁香国产在线| 丁香五月婷婷基地| 五月婷婷和六月| 日本一級黃色一級片| 色五月婷婷天天操夜夜操| 西西4r午夜剧场| 六月丁香社区| 色婷婷综合在线| 婷婷五月色| 五月婷婷激情久久| 婷婷久久久| www色婷婷久久综合久色| 日日做A爰片久久毛片A片英语| 97色五月天| 99热超碰人| 无人精品在线视频| 蜜桃婷婷狠狠久久| 大香蕉九九| 精品无码av丁香五月激情| 中文字幕按摩做爰| 国产精品A片| 亚洲色五月婷婷| 99福利导航| 极品色丁香| 无码少妇高潮喷水A片免费| 五月天激情小说婷婷基地| 伊人激情网| 综合色影| 性爱动图国产麻豆一区二区三区| 欧美私人家庭影院| 九九机热| 密乳Va| 热99在线| 婷婷激情鹿城五月天| 色五月激情图片| 久久婷婷五月天激情四射| 激情婷婷丁香五月天小说| 日本欧美成人片AAAA| 欧洲毛片基地c区| 婷婷五月天福利| 欧美婷婷色五月| 99热亚洲精品| 91狠狠色丁香婷婷综合久久精品| 久久久久99精品成人片| 97久操视频| 思思久久99| 不卡影院午夜理论片| 97黑人精品区| 五月丁香激情综合网| 久久婷婷丁香六月天| 无码yw| 欧美色色色| 九九精品网| 久久五月天婷婷| 六月五月天婷婷涩播在线| 婷婷在线视频| 97丁香花五月天激情小说| 91a片爽| 狼人久草| 26UUU精品一区二区c〇m| 日韩日比视频| 中文字幕日产A片在线看| 少妇达人正片在线播放_ikun_福利吧| 色婷婷久久综合| 综合AV网| 影视av久久久噜噜噜噜噜三级| 色婷婷在线综合色播网| 丁香激情五月少妇| 色综合久久久久| 第五色色色婷婷| 另类五月婷婷| 丁香六月色| 夜夜操狠狠操| 婷婷五月色激情欧美激情| 全网最新网黄大秀直播高清,主播国产录屏在线 | 五月丁香婷婷综合在线| 五月草视频| 区区久久妻| 色yeye欧美| 天天干天天干天天干| 99精品亚洲| 99热在线99| 亚洲视频国产一区| 日本VA视频| 只有精品在线观看| 五月丁香趴趴| 成人无码精品1区2区3区免费看| 婷婷五月天久久| 人人色性网| 综合久久久| 9九九久久精品无码专区| 日本99视频| 高清无码视频网址| 亚洲色五月天在线| 午夜爱插插| 亚洲成人av中文| 超碰人人在线| 天天搞天天色综合| 99热在线观看这里只有精品| www.激情五月天。com| 丁香婷婷五月人体| 国产无遮挡又黄又爽免费网站| 大香蕉婷婷五月天| 可以看的AV网站| 日韩五月天婷婷| 色五月婷婷基地| 91av视频在线观看最新网址| 搡BBBB搡BBB搡18| 99热婷婷| 色丁香五月婷婷| 91久久婷婷人人澡草| 天天草婷婷五月| 色婷婷久久| 久久激情五月网| 99久久天堂婷婷| 麻豆AV一区二区三区| 超碰人人在线| 激情五月婷婷| 丁香五月六月婷婷殴美综合| 婷婷五月天六月综合| 色婷婷影视| WWW色色色COm| 五月丁香六月婷婷的女人| 激情性爱五月天网页| 国产激情久久久| 337p大胆噜噜噜噜噜91Av| 日本美女五月天| 色狠久| 狠狠撸激情综合丁香五月天俺来啦| 色色网站在线免费观看视频|