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

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
返回資訊列表
婷婷丁香69精华| 婷婷五月精品中文字幕| 久久蜜臀婷婷| 69精品人人人人| 天天干天天日日| 久久久全国免费视频| 8区视频在线| 天天爱天天做综合| 、激情六月天| 97欧美在线| 五月丁香| 丁香六月婷婷色XXXXX| 丁香婷婷久久| 超碰在线99热| 丁香五月大香蕉在线99| 激情五月天视频| 天天爽夜夜爽| 大波美女VA网站| 免费成人中文字幕| 十二区无码| www.色五月| 99re热| 啪啪操网| 欧美三级韩国三级日本三斤| 国产成人精品一区二区三区视频| 99热这里只有精品9| 五月天五月天成人网亭亭成人色网站| 五月丁香婷婷国产精品综合| 99re热精品视频国| 国产日比| 日本综合久久| 9191avse| 99热免费精品| 天天操天天曰天天射| 七月婷婷色香综合网| 久久精品视频99| 五月婷婷网站| www.五月天社区| Av性爱网站| 五月久久婷婷丁香| 九色激情| 九月丁香婷婷网| 97人妻碰碰中文无码久热丝袜| 婷婷五月天AV| 婷婷五月天天爽| 色婷婷狠狠干| 精品一区二区三区四区五区六区介绍 | 激情综合色播| 99热这里只| 人妻熟妇六区| 亚洲另类婷婷五月综合| 五月精品免费XXX| 婷婷五月永远18免费久久久| 九九色热视频| 人人草人人爱| 高清不卡一区| 人人干av| 久草热8精品视频在线观看| 欧美久热| 九九成人视频| 热99色| 久久婷婷丁香花综合网| 狠狠综合久久综合| 色噜噜狠狠色综合网| 色蜜婷婷| 日韩精品999| 高清国产一级婬片a免费| 色婷婷丁香AV综合| 五他月天啪啪啪| 91九色PORNY肉丝在线| 99在线精品免费视频| 夜夜爽天天爽| 大香蕉九九| 婷婷视频网| 亚欧州精品视频| 激情综合在线观看| 日本在线视频手机播放五月婷| 91丨熟女丨首页| 深爱激情中文五月天av| 日韩欧美四五区| 好吊丝aV| 久久99网| 天天色亚洲| 狠狠色婷婷| 色欧洲| 97av在线视频| 九一牛视频探花| 99久免费视频| 蜜桃婷婷五月| 五月婷婷啪| 天天天摸夜夜夜玩| 色婷婷综合久久久久| 丁香六月婷婷久久综合| 99久久国产宗和精品1上映| 大战熟女丰满人妻AV| 国产av一区二区三区| www.玖玖九| 色婷婷色丁香色欲av| 综合久久久婷| 天天日天天狠狠操| 成人开心五月天| 丁香花五月天激情| 久久这里精彩免费在线观看| www.热99热| 国产成人99久久亚洲综合精品| 人妻精品一区二区三区| 色综合五月| 少妇AB又爽又紧无码网站| 狠狠爱青青草| 精品人人操| 狠狠操天天操天天操| 99热这里只有的精品视| 丁香婷婷五月| 激情丁香五月| 人人爱天天摸摸天天爱| 日韩狠狠色| 99国产精品白浆在线观看免费| 1024人妻无码中文字幕| 99色这里| 丁香五月天之婷婷影院| 免费看成人AA片无码视频吃奶| AV六月丁香| 97福利视频| 婷婷丁香激情五月天色色| 丁香激情五月| 婷婷五月激情小说| 五月激情另类| 女人天堂AV| 色婷婷综合在线| 婷婷激情五月天激情在线| 婷婷五月天综合AV| 激情久久婷婷| 日日狠夜夜狠| 五月天开心网| 久久婷婷啪啪视频| 97色热| 影音先锋 91工厂| 99热官网| 综合 蜜月 婷婷| 五月婷婷深深爱爱| 99久久久99久久91熟女| 久久与婷婷| 很很干五月天| 国产69久久久欧美黑人A片| 极品另类| 26uuu精品一区二区| 亚洲AV免费在线| 久久丁香综合香蕉| 五月婷婷就去色| 激情综合国产| 久久一品区| 五月丁香六月婷婷免费| 97色片| 婷婷综合玖玖五月| 婷婷色丁香六月| 天天拍天天操| 欧洲婷婷五月天| 九月综合| 先锋资源婷婷| 五月丁香六月激情| 亚州综合色| 成人狠狠成人狠狠成人狠狠成人狠狠 | 六月丁香婷婷开心综合基地| 日韩成人精品中文字幕| 激情综合自拍五月婷婷色五月| 婷婷五月天AV| 99九九热视频免费| 思思久久99| 色情成人五月天| www.色五月| 狠狠人妻色综合| 激情小说视频图片| 欧美啪啪9| 五月婷婷啪啪| 久久98热re| 深爱激情婷| 五月婷婷视频| 丁香五月无码| 成人免费网站免费看| 婷婷亚洲五月色综合| 操一区| 色九月婷婷| 99九色视频在线观看| av操一操| 激情综合无码| 丁香激情五月综合网| 日本色五月| 丁香婷婷久久 | 岛国av网站| 综合精品99| 26uuu欧美日本| 99青青草99| 人人看人人草人人摸| 欧美性猛交99久久久久99按摩 | 办公室少妇激情呻吟A片在线观看| 中文网AV| 激情五月婷婷| 婷婷综合激情| 亚洲操人| 婷婷伊人网| 丁香五月婷婷色| www.五月天婷婷| 久青青久| 五月天激情美女久久| 五月丁六月婷| 五月激情射| 五月丁香六月激情综合| 日韩一区二区在线播放| 亚洲丁香五冃97色| 婷婷亚洲综合| 深爱丁香网| 亚洲精品又粗又大又爽A片| www天天干| 天天综合网~91| A久久| 1024手机在线观看看片_日韩精品| 99这里有精品视频3| 五月天婷婷基地| 操逼123网| 桃色五月婷婷| 91久久婷婷| 日本狠狠爽| yirenjiqingshiping| 天天综合网站| 婷婷5月天av| 婷婷久久色五月婷婷久久久| 99re久久| 五月天久久婷婷婷| 五月丁香婷久久| 婷婷爱综合| 丁香av网| 五月天婷婷激情小说电影| 欧美综合激情五月丁香| 激情综合色图| 牛色色碰| 丁香五月性爱| 五月天婷婷激情小说电影| 97极品在线| 91九色在线视频| 六月色日韩| www.色擼擼.com| 91jiuseshunv| 天天日,天天插| 夜夜资源站| 婷婷成人AV| 九九视频在线观看视频6| 在线只有精品| WWW.久久久久久久| 99在线精品免费视频| 99热在线观看亚洲区| 婷婷五月色综合香五月| 婷婷狠狠操| 中文字幕色色色| 色五月婷婷操逼| 日产精品久久久久久久蜜臀| 91久久久久久久久| 成人va在线播放| 色欲Av五月天| 99黄色性生活| 国内精品免费一区二区2009| 高清无码网址| 噜噜色五月| 国产一级婬片毛片| 综合色情网| av大片在线| 99热播放| 狠狠摸狠狠摸| 激情二色月| 亚洲成人一区| 日韩AV在线免费观看| 亚洲乱码日产精品BD| 婷婷久久久久| 激情综合五月| 婷婷五月天开心网| 人人爱人人添| www.五月丁香av| 思思热这里只有精品视频666| 婷婷五月六月| 婷婷五月激情视频网| 婷婷激情五月天小说| 天天舔天天插天天爱| 美国不卡视频| 99热一本久道| 精品一区二区三区三区| 操精品9| 色五月AV| 亚洲激情网| 五月婷婷成人| 99视频35精品视频在线观看| 婷婷五月花| 99热久只有| 亚洲在线综合| 五月天伊人久久久久| 影音先锋 萱萱| 国产AV国片偷人妻麻豆| 五月天激情国产综合婷婷婷| 婷婷五月天成人| 亚洲视频99| 久久久久久综合88| 天天射综合网站| 超碰高清在线| 国产精品国产| 99久在线精品| 日日干天天爽| 97干97色| 99操碰| 天天操天天爽天天爱| aa久久| 射久久丁香五月| 玖玖色综合色| 91啦丨九色丨刺激中文| 操逼综合网| 97人人操com| 超碰丁香五月| 婷婷婷久久久| 色九区| 久久er视频6| 婷婷大香蕉| 4399成人黄A片| 蜜臀丁香黄色婷婷五月天| 色愛综合网| 一级片sese片.COM| 天天日夜夜夜操操操操| 婷婷六月久久综合导航| 69久久99精品久久久久婷婷| 五月丁香人妻| 久久性爱网| 激情婷婷五月天| 狠狠干狠狠色| 激情五月婷婷丁香综合网| YW无码| 欧美性久| 天天操天天日天天爱| 免费日韩99| 婷婷亚洲在线| 99精品久久久久久久婷婷| 91九色精品熟女内射| 青青草伊人婷婷| 激情亭亭五月| 丁香五月激情综合| 操b视频在线观看一区二区| chaopengdaxiangjiao| 国产精品久久久久久久久久| 久久99久久99久久99| 极品人妻VIDEOSSS人妻| 色情终和网| 伊人大香蕉综合在线| 久久婷婷网站| 伊人青草成人| 色五月六月婷婷| 吉澤明步Av一區二區| 97丁香五月| 超碰在线看| 丁香六月婷婷操逼网| 久久青青日本视频| 五月丁香亭亭成人电影| 久久婷婷五月| 天天爽夜夜操| 96色婷婷| 五月天色婷婷视频| 色色吧综合| 伊人爱爱日本| AV堂狠狠干| 天天插插天天| http:色情日本com| 婷婷九月色| 一夜福利不卡| 性热视频99精品| 色婷婷亚洲婷婷| 97ai婷婷| 五月社区丁香| 久色网址| 五月丁香六月婷婷综合| 婷婷五月天成人在线视频| 热的无码综合视频| 丁香五月成人社区| 色情婷| 婷婷情色五月| 97精品自拍| 欧美英丁香开心快乐六月天网| 丁香六月久| 91性高潮久久久久久久久| 久热9热| 久久五月天激情美女| 五月天久久丁香| 91狼友视频在线观看| 久大香蕉| 精品色色| 久久一级免费黄色片| 天天综合插插| 九九AV| 97碰久久| 超碰在线免费9| 中文字幕日本最新乱码视频| 天天爽曰日爽| 天天日天天舔| 99热只有精品综合| www超碰| 97碰碰人人视频| 激情久久天天| 亚洲日韩一页精品发布| 色播五月丁香婷婷| 精品无码久久久久久久久 | 网色99| 美国十月色婷婷在线观看| 久久婷婷免费| 久久欧洲综合网| 亚洲妇女熟BBW| 日本99热| 天天干狠狠| 丁香五月综合婷婷| 天天肏屄夜夜爽| www.五月天| 婷婷丁香五月综合| 直接看的av| 久久九九网| 另类图片色五月| 久热AA| 色婷婷精品视频| 久久国产高清| 色吧五月婷婷| 综合久久婷婷| 大香蕉九九| 夜夜躁狠狠 | 久久九九网| 亚洲无码播放| 五月天开心网| 情情五月天色| 东北熟女高潮99综合99| 激情五月天网| 色久女| 婷婷伊人五月天| 婷婷综合| 少妇被躁爽到高潮无码文| 丁香五月激情综合网激情五月| 99热这里有精品| www.婷婷,com| 婷婷久久婷婷| 亚洲精品99| 婷婷久久综合久| 亚洲精品色| 丁香婷婷久| 综合激情网激情五月。| 狠狠五月激情丁香六月| 五月丁香激情综合网| 色婷婷欧美在线| 久久婷婷七月丁香| 另类激情五月在线视频欧美| 久久狠狠欧美| 婷婷婷婷午夜| 午夜成人综合| 色色色99韩| 色婷婷五月综合激情中文字幕| 色婷婷www| 亚洲色图五月丁香| 熟女人妻一区二区三区免费看| 五月婷婷无码专区| 123草逼网| 五月天播播| 色 五月俺去也| 五月色丁香婷婷综合| 精品99在线| 婷婷丁香色五月天久久88| 97色射| 综合99久久天天综合| 色婷婷手机在线| 婷婷最新地址| 丁香午夜天| 六月婷色六月| 9操在线| 亚洲精品久久久无码| 久久开心五月天激情| 五月丁香av中文| 一本久道综合色婷婷五月| 婷色五月天| 免费看欧美成人A片无码 | 超碰99久久| 被强行糟蹋的女人A片| 色五月激情五月天| 99热欧| 婷婷色基地在线看| 精品夜夜澡人妻无码AV| 日韩精品一品二区三区的使用体验| 久久这里只有国产| 丁香激情五月| 7777国产盗摄农村女人| 99热6这里只有精品| 综合婷婷五月丁香在线观看| 五月婷婷五月丁香综合| 99热天堂| 五月天婷婷Av| 国产成人片| www.色色五月天.com| 丁香五月狠狠综合欧美| 婷婷九月色| 丁香激情五月天| 五月婷婷激情综合| 91人人网| www.五月丁香| 五月天堂在线| 国产视频久色| 五月丁香六月在线欧美| www、丁香五月天| 95精品区一区二| 性爱综合网| 亚洲熟女色| 九九爱激情| 亚洲男女激情| 亚洲综合五月天婷婷丁香| 人人爽欧美婷婷久久久五月丁香 | 国产激情av| 伍月婷婷六月丁香| 亚州日本欧州韩美高青高潮一| 天堂久久精品| 亚洲AV网站在线观看| 色碰97| 亚洲蜜桃精久久久久久久久久久久 | 这里只有精品久久| 亚洲色婷婷五月天| 欧美婷婷五月丁香| 精品婷婷| 日韩成人av在线| 色婷婷在线视频| 操操操AV| 九一99| 激情黄色五月天| 丁香九月综合| 精a品a视a频| 在线99热| 色墦五月丁香| 丁香丁婷五月激情| 99婷婷五月天| 久久久久久久久久久久久久人妻视频| 思思色播| 激情五月黄色小说| 综合激情五月丁香9999久久精| 狠狠干综合| 亚洲精品99| 亚洲天堂爱爱| 97成人丁香婷婷| 91天天操天天干天天射| 97人妻碰碰碰久| 九九综合九九| 色婷婷WWW| 久久婷婷五月综合97色一本| 成人五月天婷婷| 五月天激情综合在线| 久久这里只有精品久久| 美女五月激情| 六月婷婷日| 狠狠操.COM| 婷婷丁香激情| 婷婷伊人五月天| 久久人妻乱| 99热这里是精品| 久久99网址| 91热爆在线| 九九热色视频| 5月婷婷激情6月| 五月亭亭欧美女人| 欧美色色色色色色色| 狠狠丁香| 亚洲综合网激情五月天| 六月婷婷久久大全| 天天综合五月天| 色色五月婷| 五月天婷婷综合| 91精品91久久久中77777| 超pen个人视频97| 婷婷99狠| 人人妻人人澡| 欧美久久五月婷婷| 深爱激情丁香五月| 午夜一区| 99精彩视频网站在线| 亚洲啪| 99热丁香| 色亚洲视频| 国产资源91在线| 日本爆乳片手机在线播放| 97碰啪啪| 欧美色片中文字幕久久久久| 亚洲AV无码成人精品电影| 亚洲视频二区| 思思久久思思| 91人人网| 熟女色色一区二区| 99精品在线观看视频| 新99思思视频| 五月天亚洲色| 婷婷久久五月| 激情丁香五月天图片| 97人人操人人爽| 久久久久99精品成人片| 亚洲熟女色| 丁香网站| 97人人搞| 国产另类综合| 色色色9| 婷婷五月天成人视频| 中文字幕,综合,91| 亚洲婷婷五月草久| 五月天激情久久| 99在线精品免费视频| 婷婷久久伊人| 丁香五月天精品| 久久久久网站| 99在线热视频| 国产又爽又猛又粗的视频A片| 精品九九网| 插插网爽妇五月丁香| 9l视频自拍9l九色9l成人| 白人荫道BBWBBB大荫道| 黄网免费观看| 婷婷婷婷色| 色一情一乱一伦一区二区三区| 啪啪操超碰| w婷婷五月婷婷w| 97人人超| www.色九月| 九九九午夜影院成人| 91超碰在线观看| 色五月美女| 天天搞夜夜六| 欧美久热| 大香蕉久久婷婷精品综合| 99色热视频| 中文av网| 色碰碰| 激情欧美五月丁香| 91人妻人人操| 久久五月丁香激情综合| 成人va在线播放| 91九色熟女| 天天日天天草| 亚洲殴洲精品Av在线| 婷婷五月免费观看| 97香蕉碰碰人妻国产欧美| 2017人人操| 激情五月天电影| 色逼综合网| 99精品这里只有免费视频| 九九在线视频| 五月婷婷www| 日日狠狠久久偷偷四色综合免费| .青娱乐天天操B| 五月婷婷伦理| 国精产品一区二区三区| 五月天久久色| 涩涩婷婷五月| 玖玖婷婷色欲| 久久精品66| 国产真实乱了老女人视频| 五月天天天综合| 99热91| 91Chinese在线| 99在线视频播放| 99色五月| 五月丁香好婷婷A片网| 免费看成人747474九号视频在线观看| 婷婷五月丁香五月综合网| 6 9式性爱视频在线播放| 99亚洲色| 五月婷婷性爱视频| 99热免费观看| 亚州操操| 色五月婷婷色| 色狠狠五月天| 99热这里只有精品55| 五月婷婷另类| 国产AV一区二区三区最新精品| 色婷婷精品小视频| 久久久婷婷五月天| 99爱视频在线播放| 六月婷婷九月丁香| 五月丁香激情啪啪| 五月天综合缴情网网站0| 亚洲综合五月天| 丁香色啪综合| 嫩草视频。| 99久久五月婷婷| 色婷婷a v| 五月婷激情| 日本天天综合| 99热有精品在线观看| 人妻久久久久久久久久久| 99久久精彩视频| 9久热在线视频精品| 国产亚洲在线观看| 91|疯狂丨高潮丨对白| 严洲天天插| 狠狠色狠狠爱| 天干夜夜操| H亚洲| 激情综合五| AV在线资源| 色婷婷丁香A片区毛片区女人区| 五月天电影网| 99ri视频在线播放| 色九月婷婷| 五月婷婷之美女图片| 91热视频色网站| 99性视频| 日韩在线婷婷五月天综合| 久久刺激网| 国产精品a无线| 亭亭五月色男人| 亚洲综合99| 99精品偷自拍| 亚洲熟妇无码乱子AV电影| 亚洲婷婷在线播放十月| 日韩五月婷婷久久| 色五月婷婷丁香五月| 五月婷婷co.m| 97碰碰视频| 婷婷在线精品| 26uuu| av婷婷丁香 六月| 日本在线观看aaa 99| 噜噜噜狠狠色综合| 婷婷五月天激情在线| 九九性视频| 超碰永久在线| 中文字幕在线免费观看视频| 思思热99热| 天天爽夜夜爽夜夜爽精| 亚洲黄3级片网站欧美| 嫩草AV久久伊人妇女超级A| 天天综合中文| 色五月久久成人婷婷| 玖玖精品婷婷| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品| 99性爱视频| 五月天色婷婷图片| 99综合视频| 久久久人人操A V| 99无码| 日91高清无玛| 国产资源91在线| 久色视频在线| 欧美在线看| 国内9l视频自拍老熟女九色| 天堂婷婷丁香六月网| 99色天堂| 五月丁香六月婷婷的女人| 91肏肏肏| 操一区| 亲子乱AV一区二区三区下载| 五月天婷婷在线AN| 五月丁香亚洲综合网| 五月丁香啪啪| 色五月天丁香婷婷| 99综合成人视频在线观看| 日韩成人无码| 91热爆在线| 91色在线/日韩| 99色精品| 五月丁香婷爱在线| 三级大香蕉网| 色综合久久88色综合天天人守婷| 一逼色综合| 91chinese 在线| 婷婷五月综合色小姐小说| 国产AV一区二区三区日韩| 51国精产品自偷自偷综合| 婷婷丁香97| 婷婷色片| 欧美va在线观看| 色综合天天天天做夜夜| 婷婷成人小说综合| 精品九九视频| 26uuuavcom| 激情五月综合六月丁香婷婷狠狠干| 欧美99| 大香蕉人妻| 91人人操人人| 久久久久久久97| 女同激情久久av久久| 国产精品色婷婷久久久精品| 丁香婷婷超碰 | 超级碰碰视频无码| 噜噜五月天综合| 嫩草视频| 九九久久精品國產| 99久免费视频| 久久99精品久久久久久三级| 丁香五月网址| 99色色网| 婷婷六月综合激情| 色五月婷婷在线| 99性爱| 一本大道嫩草AV无码专区| 激情六月天| 熟女少妇内射日韩亚洲| 日本欧美成人片AAAA| 中日韩美欧成人一区二区精品在线| 亚洲亚洲人成综合网络| 黄急一级视频| 五月做爱| 久久超级碰视频| 婷婷色五月激情强奸四射| AV在线观看网站| 无码色色色色色| 99成人网站| 婷婷五月免费在线| 深爱激情丁香五月| 国产三级片91| 五月天.com| 国产精品99久久久久久久女警 | 久久婷婷六月综合国际| 婷婷热色| 色综合视频| 亚洲九区| 26uuu激情五月天| 婷婷激情五月天在线| 第五色婷婷| 午夜免费试看| 四LLL少妇BBBB槡BBBB| 99天堂在线观看免费视频| 色五月综合97| 久热婷婷| 丁香伊人综合| 夜夜撸夜夜骑| 久久婷婷视频| 91久久精品国产91性色TV| 午夜福利8055| 丁香九月久久| 亚洲AAA| 影音先锋天天日| 亚洲综合色网| 天天肏天天舔AV| 人人操插| 五月丁香婷婷婷婷综合网| 五月丁香 啪啪| 夜夜天天久久婷婷| 涩五月婷婷| 人人摸人人干| 9热久久在线| 久草婷婷| 26uuu亚洲精品国产| WWW久久久| 97爱艹婷婷开心丁香激情综合| www激情网站| 十月丁香婷婷| 天天日天天舔| 欧美精品中文字幕亚洲专区| 午夜丁香六月婷| 亚洲性爱干干| 五月色亚洲| 九月婷婷久久| www.久久久久久久久久久| 国产噜一噜天天噜| 开心深爱激情网| 五月丁香久久| 亚洲午夜一区二区| 久久婷婷五月综合激情国产| 日本爆乳片手机在线播放| 777精品久无码人妻蜜桃| 婷婷五月色亚洲| 中文字幕av亚洲| 91919191919久久成人视频| 一级性爱视频| 激情五月天小说网| 久热精品视频| 9er热在线精品视频| 婷婷五月天视频亚洲| 亚洲精品V天堂中文字幕| 一区二区免费看| 国产日日操夜夜操的肉棒视频| www.99视频| 婷婷第一页| 欧美成人网婷婷综合在线| 亚洲综合色婷婷| 婷婷新网址| 五月永久激情| www.丁香五月| 婷婷中文字幕在线| 日本成人小说婷婷六月| 色噜噜婷婷| 99热亚洲| 婷婷色基地| 五月天丁香色色| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 日韩有码一区| 久久只这里有精品| 久久伊人五月天| 日本综合久久| 九九色色| 九热电影av| www.深爱激情| 久久大大香| 六月婷婷狠狠| 五月天精品| 激情五婷网| 久久久久人妻| 墨西哥毛片内射精| 人人操人av| 免看黄大片AA | 日韩黄黄| 色色色999| 快乐激情五月色婷婷| 婷婷在线免费| 婷婷五月天黄色| 婷婷色啪| 开心五月婷婷婷美女| 激情伊人五月天| 日本97在线看片| 婷婷五月丁香久久| 婷婷婷狠狠| 26uuu欧美亚洲日韩| 2018国产大陆天天弄| 天天日夜夜B久久| 激情网五月天| 五月丁香婷婷无码中文| 婷婷久久图片| 五月天婷婷綜合院| a网站免费观看| 久热一本| 色五月亚洲| 日韩黄色网络| 91久久1118| 婷婷五月天久久久| 丁香五月天堂亚洲社区| 97干在线看| 亚洲AV成人精品日韩在线播放| 激情综合自拍五月婷婷色五月| 婷婷五月天AV激情| 午夜丁香六月婷| 婷婷五月天激情四射| 色噜噜,噜噜色| 蜜乳中文字| 久久久99视频| 疯狂做受XXXX高潮A片动画| 亚洲AV成人无码精品| 九草性爱| 久久99这里只有精品| 深爱激情久久| www.日本91| 色婷婷影院| 婷婷五月另类网站| 婷婷五月丁香综合| 99热日本| 五月丁香另类网| 99热思思| 91久久久久久久| 99性爱| 深爱1激情网| av成人在线播放| 婷婷丁香在线| 婷婷六月开心网| 岛囯综合激情网| 丁香五月欧美午夜视频| 97人人干人人操| 嫩BBB槡BBBB搡BBBB| 97婷婷五月| 激情99| 亚洲成人免费电影| 色色综合视频| 五月丁香综合在线| 99只有精品| 丁香五月六月婷婷殴美综合| 亚洲综合草草| 日日影院 | 五月婷婷官网色| 色五月综合网| 日韩艹比| 91人操人人人操人| 天天舔天天摸天天射| 激情婷婷五月综合| 欧美在线视频99| Jh7Uf088VHafNm| 亚洲av无码精品色午夜| 99亚州综合精品成人网| 五月激情网络| 婷婷免费无马| 极品人妻VIDEOSSS人妻| 久久九九国产精品怡红院| 久久这里这里有精品免费视频| 9视频在线成人网站| 中文AV在线观看| www.五月天性.com| 日韩超碰在线| 综合色色五月| 丁香婷婷五月色成人网站| 99久久综合网| 啪啪综合| 91碰碰视频在线观看| 97干在线| 六月婷婷啪啪| 激情开心五月天| 天天搞天天爽| 婷婷丁香午夜综合影视| 日本黄色在线观看| 久久人人做人人妻人人玩精品va| 婷婷久久五月天丁香| www.com操| 91美女被操| 色九九九综合| 九月婷婷综合| 婷婷五月天AV在线| 天天干天天干天天干天天干天天干天天干天天 | 国语精品探花| 99热99在线| 操日本三片99| 天天激情站| 日韩啊啊啊| 丁香五月天激情综合| 激情五月丁香色婷婷| 超碰人人超碰| 色吊丝av中文字幕| 国产亚洲成AV人片在线观黄桃| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 婷婷五月天激情网| 激情久久久久久久久久久| 色操b| A√天堂网在线| 色色色婷婷五月天| 黄色五月婷| httpwww色com日本| 六月丁香网| 99色在线视频| 色婷婷偷拍| 99热 免费| 亚洲精品又粗又大又爽A片| 婷婷深爱五月天在线| 国产午夜精品AV一区二区麻豆| 婷婷五月俺要去| AA片在线观看视频在线播放| 79成人网| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 五月丁香啪啪激情| 丁香五月天AV在线 | 五月丁香六月婷婷网| 五月婷婷婷丁香播| 婷婷五月天成人小说| 色情激情五月| 九九热这里都是精品6| 99久久久| 欧洲毛片基地c区| 2017人人操| 九九精品99久久久| 婷婷丁香黄色| 色99xx| 色色网站日本91| 亚洲网在线观看| 免费无码毛片一区二区A片| 99九九精品| 另类小说色婷婷| 天天干天天干天天干天天干天天干| 色婷婷综合久久久久| 成人综合视频在线| 色五月大| 欧美日比视频| 伊人玖玖精品| 性色婷婷| 婷婷五月天奸女| 99热这里只有精品1025| 日本一级| 色99在线视频| 丁香五月天堂| 丁香五月播播| 五月婷婷激情网| 婷婷亚洲综合| 欧美韩国日本| 免费超碰在线观看| 丁香五月天AV在线 | 农村熟妇高潮精品A片| 成AV人片一区二区三区久久| 五月丁香在线| 无码激情AAAAA片-区区| 久草婷婷网 | 五月天伊人网| 欧美Va婷色| 国产成人av在线播放| 九九伊人网| 久久婷婷六月综合综合| CHINESE熟女老女人HD视频| 国产XXXX搡XXXXX搡麻豆| 色吧婷婷五月亚洲| 影音先锋一区二区资源站 | site:feetmall.com| 五月婷婷丁香瑟瑟视频| 人人爱摸视频| 91狠狠综合久久| 久久伊人大香蕉| 国产一级片色色| 色开心五月婷婷丁香HD| 六月婷欧美| 婷婷五月天成人在线视频| 色久婷婷网| 夜夜爽天天日| 天天人人人人人人人人人人人| 五月丁香婷婷色色| 激情五月天视频| 婷婷五月天免费99| 麻豆精品| 五月停亭六月,六月停亭的英语| 激情美女五月天| 五月丁香激情六月| 少妇人妻人伦A片| 天天爱天天操| 色九九中文字幕| 超级碰碰碰碰视频| 伊人五月天日日夜夜久久久天天| 婷婷涩五月天综合| 激情深爱五月天| www.夜夜操.com| 日本波多野结衣视频| 激情六月天婷婷| 丁香婷婷丁香五月欧美人| 久久小片| 五月丁香啪| 香蕉婷婷五月| 九月激情综合| 激情婷婷丁香色五月综合| 五月婷婷在线免费观看| 亭亭玉月丁香| 色五月色五天色情网址| 亚洲激情在线| 一本伊人色婷| 激情九月综合| 五月婷婷亚洲天堂97色婷婷| 一月婷婷色色| 99热这里只有精品1998| 任你搞网站| 中文字幕无码AV| 中文字幕综合| 好好干av| 欧美综合五月丁香六月婷| 国产偷人爽久久久久久老妇APP| 97色啪| renre人人操国产超碰在线| 中文字幕av在线播放| 俺也去五月婷婷丁| 无码区婷婷五月花开| 婷婷爱婷婷| 五月丁香大香蕉| 99精品综合在线| 成人va在线观看视频| 婷婷综合网| 天天射影院| 中文字幕视频在线播放| 久8色色| 九色 在线| AV动漫不卡无码免费| 婷婷午夜精品久久久| 99精品视频在线| 色五月婷婷激情| Www.狠狠| 俺去也综合| 婷婷深爱五月天| 天天爱天天操| 国产免费一区二区三区三州老师F1F1.CC | 69er小视频| 伊人色综在线| 开心激情综合| 婷婷无码视频| 人人干av| 极品人妻XXXXOOOO| 99视频综合| 99热99思午夜精品| 色五月婷婷操逼| 婷婷五月播| 涩涩涩婷婷| 深夜A片| 91视频五月丁香| 天天色视频| 91色色五月天| 亚洲天堂有码| 综合色五月天| 思思视频这里是精品| www.色婷婷.com| 久久久久人妻精选| 亚洲精品又粗又大又爽A片 | 五月天婷婷AV| txt五月激情四射网综合俺也来了 五月天婷婷丁香人人操91 | 五月婷婷天天色| 99操视频| 99久久久99久久91熟女| 久操激情| 五月丁香五月丁香五月丁香五月丁香91| 婷婷深爱网| 久草热8精品视频在线观看| 丁香婷婷六月婷婷六月婷婷六月婷婷| 久99视频在线观看| 久久精品99久久久久久| 色色色网站| 欧美婷婷精品激| 日韩视频99| 久久五月天 91| 婷婷中文字暮| 亚洲黄网在线| 中文国产五月天| 91 影音先锋| www.91有码.com| 婷婷97狠狠成人网站| 欧日韩AV| www.色婷婷.com| 立川无码av| 色综合天天| 丁香五月婷婷色综合基地| 99色视频| 影音先锋激情网| 欧美成人精品三区综合A片| 久久激情综合| 99热在线观看| 五月婷婷六月激情在线| 午夜天堂一区人妻| 亚州视频九九99| 熟女强人妻一区二区三区四区无| 久久久久久综合五月婷婷| 香蕉曰比| 第五色色色婷婷| 97色图片中文字幕视频在线观看| 五月天社区婷婷丁香社区| 在线观看欧美| 日韩操人| 丁香婷婷精品视频| 亚洲中文字幕在线观看| 先锋av性爱成人电影| 91九色PORNY肉丝在线| 激情五月开心五月丁香五月| 日韩黄色AV无码| 国产免费一区二区三区三州老师F1F1.CC| 97色色婷婷五月天| 色色色色色色色色综合网| 亚洲激情综合色站| 成人国产欧美大片一区| 日本va视频| 久久99日本精品视频免费观看| 能看的av| www久久99| 丁香婷婷综合激情五月色| 久久婷婷婷婷伊人| 久久五月情| 五月婷婷熟女| 99热 在线观看| 新激情五月天| 亚洲人人操| 五月丁香六月综合情在线观看| 国产日韩精品SUV| 欧美日韩AAAA| 99热99久久| 99热91| www,婷婷| 日本婷久久| 五月丁香啪啪啪| 五月婷婷丁香瑟瑟视频| 九九99九九99| 天天干天天拍| 四色99久久| 在线不卡视频| 无码 av电影| 狠狠色五月天| 激情五月天噢美| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 99热这| 久久久久久综合五月婷婷| 激情av在线| 国产看真人毛片爱做A片 | 五月婷婷在线丁香| 九九精品9| 91seav| 狠狠狠五月婷婷六月丁香| 97丁香五月| 欧美电影在线播放|