日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ STL中哈希表 hash_map介绍

發(fā)布時間:2024/4/17 c/c++ 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ STL中哈希表 hash_map介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

0 為什么需要hash_map

用過map吧?map提供一個很常用的功能,那就是提供key-value的存儲和查找功能。例如,我要記錄一個人名和相應(yīng)的存儲,而且隨時增加,要快速查找和修改:

岳不群-華山派掌門人,人稱君子劍 張三豐-武當(dāng)掌門人,太極拳創(chuàng)始人 東方不敗-第一高手,葵花寶典 ...

這些信息如果保存下來并不復(fù)雜,但是找起來比較麻煩。例如我要找"張三豐"的信息,最傻的方法就是取得所有的記錄,然后按照名字一個一個比較。如果要速度快,就需要把這些記錄按照字母順序排列,然后按照二分法查找。但是增加記錄的時候同時需要保持記錄有序,因此需要插入排序。考慮到效率,這就需要用到二叉樹。講下去會沒完沒了,如果你使用STL 的map容器,你可以非常方便的實現(xiàn)這個功能,而不用關(guān)心其細(xì)節(jié)。關(guān)于map的數(shù)據(jù)結(jié)構(gòu)細(xì)節(jié),感興趣的朋友可以參看學(xué)習(xí)STL map, STL set之?dāng)?shù)據(jù)結(jié)構(gòu)基礎(chǔ)。看看map的實現(xiàn):

#include <map> #include <string> using namespace std; ... map<string, string> namemap;//增加。。。 namemap["岳不群"]="華山派掌門人,人稱君子劍"; namemap["張三豐"]="武當(dāng)掌門人,太極拳創(chuàng)始人"; namemap["東方不敗"]="第一高手,葵花寶典"; ...//查找。。 if(namemap.find("岳不群") != namemap.end()){... }

不覺得用起來很easy嗎?而且效率很高,100萬條記錄,最多也只要20次的string.compare的比較,就能找到你要找的記錄;200萬條記錄事,也只要用21次的比較。

速度永遠(yuǎn)都滿足不了現(xiàn)實的需求。如果有100萬條記錄,我需要頻繁進行搜索時,20次比較也會成為瓶頸,要是能降到一次或者兩次比較是否有可能?而且當(dāng)記錄數(shù)到200萬的時候也是一次或者兩次的比較,是否有可能?而且還需要和map一樣的方便使用。

答案是肯定的。這時你需要has_map. 雖然hash_map目前并沒有納入C++ 標(biāo)準(zhǔn)模板庫中,但幾乎每個版本的STL都提供了相應(yīng)的實現(xiàn)。而且應(yīng)用十分廣泛。在正式使用hash_map之前,先看看hash_map的原理。

1 數(shù)據(jù)結(jié)構(gòu):hash_map原理

這是一節(jié)讓你深入理解hash_map的介紹,如果你只是想囫圇吞棗,不想理解其原理,你倒是可以略過這一節(jié),但我還是建議你看看,多了解一些沒有壞處。

hash_map基于hash table(哈希表)。 哈希表最大的優(yōu)點,就是把數(shù)據(jù)的存儲和查找消耗的時間大大降低,幾乎可以看成是常數(shù)時間;而代價僅僅是消耗比較多的內(nèi)存。然而在當(dāng)前可利用內(nèi)存越來越多的情況下,用空間換時間的做法是值得的。另外,編碼比較容易也是它的特點之一。

其基本原理是:使用一個下標(biāo)范圍比較大的數(shù)組來存儲元素。可以設(shè)計一個函數(shù)(哈希函數(shù),也叫做散列函數(shù)),使得每個元素的關(guān)鍵字都與一個函數(shù)值(即數(shù)組下標(biāo),hash值)相對應(yīng),于是用這個數(shù)組單元來存儲這個元素;也可以簡單的理解為,按照關(guān)鍵字為每一個元素“分類”,然后將這個元素存儲在相應(yīng)“類”所對應(yīng)的地方,稱為桶。

但是,不能夠保證每個元素的關(guān)鍵字與函數(shù)值是一一對應(yīng)的,因此極有可能出現(xiàn)對于不同的元素,卻計算出了相同的函數(shù)值,這樣就產(chǎn)生了“沖突”,換句話說,就是把不同的元素分在了相同的“類”之中。 總的來說,“直接定址”與“解決沖突”是哈希表的兩大特點。

hash_map,首先分配一大片內(nèi)存,形成許多桶。是利用hash函數(shù),對key進行映射到不同區(qū)域(桶)進行保存。其插入過程是:

  • 得到key
  • 通過hash函數(shù)得到hash值
  • 得到桶號(一般都為hash值對桶數(shù)求模)
  • 存放key和value在桶內(nèi)。
  • 其取值過程是:

  • 得到key
  • 通過hash函數(shù)得到hash值
  • 得到桶號(一般都為hash值對桶數(shù)求模)
  • 比較桶的內(nèi)部元素是否與key相等,若都不相等,則沒有找到。
  • 取出相等的記錄的value。
  • hash_map中直接地址用hash函數(shù)生成,解決沖突,用比較函數(shù)解決。這里可以看出,如果每個桶內(nèi)部只有一個元素,那么查找的時候只有一次比較。當(dāng)許多桶內(nèi)沒有值時,許多查詢就會更快了(指查不到的時候).

    由此可見,要實現(xiàn)哈希表, 和用戶相關(guān)的是:hash函數(shù)和比較函數(shù)。這兩個參數(shù)剛好是我們在使用hash_map時需要指定的參數(shù)。

    2 hash_map 使用

    2.1 一個簡單實例

    不要著急如何把"岳不群"用hash_map表示,我們先看一個簡單的例子:隨機給你一個ID號和ID號相應(yīng)的信息,ID號的范圍是1~2的31次方。如何快速保存查找。

    #include <hash_map> #include <string> using namespace std; int main(){hash_map<int, string> mymap;mymap[9527]="唐伯虎點秋香";mymap[1000000]="百萬富翁的生活";mymap[10000]="白領(lǐng)的工資底線";...if(mymap.find(10000) != mymap.end()){...}

    夠簡單,和map使用方法一樣。這時你或許會問?hash函數(shù)和比較函數(shù)呢?不是要指定么?你說對了,但是在你沒有指定hash函數(shù)和比較函數(shù)的時候,你會有一個缺省的函數(shù),看看hash_map的聲明,你會更加明白。下面是SGI STL的聲明:

    template <class _Key, class _Tp, class _HashFcn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = __STL_DEFAULT_ALLOCATOR(_Tp) > class hash_map {... }

    也就是說,在上例中,有以下等同關(guān)系:

    ... hash_map<int, string> mymap; //等同于: hash_map<int, string, hash<int>, equal_to<int> > mymap;

    Alloc我們就不要取關(guān)注太多了(希望深入了解Allocator的朋友可以參看標(biāo)準(zhǔn)庫 STL :Allocator能做什么)

    2.2 hash_map 的hash函數(shù)

    hash< int>到底是什么樣子?看看源碼:

    struct hash<int> {size_t operator()(int __x) const { return __x; } };

    原來是個函數(shù)對象。在SGI STL中,提供了以下hash函數(shù):

    struct hash<char*> struct hash<const char*> struct hash<char> struct hash<unsigned char> struct hash<signed char> struct hash<short> struct hash<unsigned short> struct hash<int> struct hash<unsigned int> struct hash<long> struct hash<unsigned long>

    也就是說,如果你的key使用的是以上類型中的一種,你都可以使用缺省的hash函數(shù)。當(dāng)然你自己也可以定義自己的hash函數(shù)。對于自定義變量,你只能如此,例如對于string,就必須自定義hash函數(shù)。例如:

    struct str_hash{size_t operator()(const string& str) const{unsigned long __h = 0;for (size_t i = 0 ; i < str.size() ; i ++)__h = 5*__h + str[i];return size_t(__h);} }; //如果你希望利用系統(tǒng)定義的字符串hash函數(shù),你可以這樣寫: struct str_hash{size_t operator()(const string& str) const{return __stl_hash_string(str.c_str());} };

    在聲明自己的哈希函數(shù)時要注意以下幾點:

  • 使用struct,然后重載operator().
  • 返回是size_t
  • 參數(shù)是你要hash的key的類型。
  • 函數(shù)是const類型的。
  • 如果這些比較難記,最簡單的方法就是照貓畫虎,找一個函數(shù)改改就是了。

    現(xiàn)在可以對開頭的"岳不群"進行哈希化了??. 直接替換成下面的聲明即可:

    map<string, string> namemap; //改為: hash_map<string, string, str_hash> namemap;

    其他用法都不用邊。當(dāng)然不要忘了吧str_hash的聲明以及頭文件改為hash_map。

    你或許會問:比較函數(shù)呢?別著急,這里就開始介紹hash_map中的比較函數(shù)。

    2.3 hash_map 的比較函數(shù)

    在map中的比較函數(shù),需要提供less函數(shù)。如果沒有提供,缺省的也是less< Key> 。在hash_map中,要比較桶內(nèi)的數(shù)據(jù)和key是否相等,因此需要的是是否等于的函數(shù):equal_to< Key> 。先看看equal_to的源碼:

    //本代碼可以從SGI STL //先看看binary_function 函數(shù)聲明,其實只是定義一些類型而已。 template <class _Arg1, class _Arg2, class _Result> struct binary_function {typedef _Arg1 first_argument_type;typedef _Arg2 second_argument_type;typedef _Result result_type; }; //看看equal_to的定義: template <class _Tp> struct equal_to : public binary_function<_Tp,_Tp,bool> {bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } };

    如果你使用一個自定義的數(shù)據(jù)類型,如struct mystruct, 或者const char* 的字符串,如何使用比較函數(shù)?使用比較函數(shù),有兩種方法. 第一種是:重載==操作符,利用equal_to;看看下面的例子:

    struct mystruct{int iID;int len;bool operator==(const mystruct & my) const{return (iID==my.iID) && (len==my.len) ;} };

    這樣,就可以使用equal_to< mystruct>作為比較函數(shù)了。另一種方法就是使用函數(shù)對象。自定義一個比較函數(shù)體:

    struct compare_str{bool operator()(const char* p1, const char*p2) const{return strcmp(p1,p2)==0;} };

    有了compare_str,就可以使用hash_map了。

    typedef hash_map<const char*, string, hash<const char*>, compare_str> StrIntMap; StrIntMap namemap; namemap["岳不群"]="華山派掌門人,人稱君子劍"; namemap["張三豐"]="武當(dāng)掌門人,太極拳創(chuàng)始人"; namemap["東方不敗"]="第一高手,葵花寶典";

    2.4 hash_map 函數(shù)

    hash_map的函數(shù)和map的函數(shù)差不多。具體函數(shù)的參數(shù)和解釋,請參看:STL 編程手冊:Hash_map,這里主要介紹幾個常用函數(shù)。

  • hash_map(size_type n) 如果講究效率,這個參數(shù)是必須要設(shè)置的。n 主要用來設(shè)置hash_map 容器中hash桶的個數(shù)。桶個數(shù)越多,hash函數(shù)發(fā)生沖突的概率就越小,重新申請內(nèi)存的概率就越小。n越大,效率越高,但是內(nèi)存消耗也越大。
  • const_iterator find(const key_type& k) const. 用查找,輸入為鍵值,返回為迭代器。
  • data_type& operator[](const key_type& k) . 這是我最常用的一個函數(shù)。因為其特別方便,可像使用數(shù)組一樣使用。不過需要注意的是,當(dāng)你使用[key ]操作符時,如果容器中沒有key元素,這就相當(dāng)于自動增加了一個key元素。因此當(dāng)你只是想知道容器中是否有key元素時,你可以使用find。如果你希望插入該元素時,你可以直接使用[]操作符。
  • insert 函數(shù)。在容器中不包含key值時,insert函數(shù)和[]操作符的功能差不多。但是當(dāng)容器中元素越來越多,每個桶中的元素會增加,為了保證效率,hash_map會自動申請更大的內(nèi)存,以生成更多的桶。因此在insert以后,以前的iterator有可能是不可用的。
  • erase 函數(shù)。在insert的過程中,當(dāng)每個桶的元素太多時,hash_map可能會自動擴充容器的內(nèi)存。但在sgi stl中是erase并不自動回收內(nèi)存。因此你調(diào)用erase后,其他元素的iterator還是可用的。
  • ?

    3 相關(guān)hash容器

    hash 容器除了hash_map之外,還有hash_set, hash_multimap, has_multiset, 這些容器使用起來和set, multimap, multiset的區(qū)別與hash_map和map的區(qū)別一樣,我想不需要我一一細(xì)說了吧。

    4 其他

    這里列幾個常見問題,應(yīng)該對你理解和使用hash_map比較有幫助。

    4.1 hash_map和map的區(qū)別在哪里?

    • 構(gòu)造函數(shù)。hash_map需要hash函數(shù),等于函數(shù);map只需要比較函數(shù)(小于函數(shù)).
    • 存儲結(jié)構(gòu)。hash_map采用hash表存儲,map一般采用紅黑樹(RB Tree)實現(xiàn)。因此其memory數(shù)據(jù)結(jié)構(gòu)是不一樣的。

    4.2 什么時候需要用hash_map,什么時候需要用map?

    總體來說,hash_map 查找速度會比map快,而且查找速度基本和數(shù)據(jù)數(shù)據(jù)量大小,屬于常數(shù)級別;而map的查找速度是log(n)級別。并不一定常數(shù)就比log(n)小,hash還有hash函數(shù)的耗時,明白了吧,如果你考慮效率,特別是在元素達(dá)到一定數(shù)量級時,考慮考慮hash_map。但若你對內(nèi)存使用特別嚴(yán)格,希望程序盡可能少消耗內(nèi)存,那么一定要小心,hash_map可能會讓你陷入尷尬,特別是當(dāng)你的hash_map對象特別多時,你就更無法控制了,而且hash_map的構(gòu)造速度較慢。

    現(xiàn)在知道如何選擇了嗎?權(quán)衡三個因素: 查找速度, 數(shù)據(jù)量, 內(nèi)存使用。

    這里還有個關(guān)于hash_map和map的小故事,看看:http://dev.csdn.net/Develop/article/14/14019.shtm

    ?

    4.3 如何在hash_map中加入自己定義的類型?

    你只要做兩件事, 定義hash函數(shù),定義等于比較函數(shù)。下面的代碼是一個例子:

    -bash-2.05b$ cat my.cpp #include <hash_map> #include <string> #include <iostream>using namespace std; //define the class class ClassA{public:ClassA(int a):c_a(a){}int getvalue()const { return c_a;}void setvalue(int a){c_a;}private:int c_a; };//1 define the hash function struct hash_A{size_t operator()(const class ClassA & A)const{// return hash<int>(classA.getvalue());return A.getvalue();} };//2 define the equal function struct equal_A{bool operator()(const class ClassA & a1, const class ClassA & a2)const{return a1.getvalue() == a2.getvalue();} };int main() {hash_map<ClassA, string, hash_A, equal_A> hmap;ClassA a1(12);hmap[a1]="I am 12";ClassA a2(198877);hmap[a2]="I am 198877";cout<<hmap[a1]<<endl;cout<<hmap[a2]<<endl;return 0; } -bash-2.05b$ make my c++ -O -pipe -march=pentiumpro my.cpp -o my -bash-2.05b$ ./my I am 12 I am 198877

    4.4如何用hash_map替換程序中已有的map容器?

    這個很容易,但需要你有良好的編程風(fēng)格。建議你盡量使用typedef來定義你的類型:

    typedef map<Key, Value> KeyMap;

    當(dāng)你希望使用hash_map來替換的時候,只需要修改:

    typedef hash_map<Key, Value> KeyMap;

    其他的基本不變。當(dāng)然,你需要注意是否有Key類型的hash函數(shù)和比較函數(shù)。

    4.5為什么hash_map不是標(biāo)準(zhǔn)的?

    具體為什么不是標(biāo)準(zhǔn)的,我也不清楚,有個解釋說在STL加入標(biāo)準(zhǔn)C++之時,hash_map系列當(dāng)時還沒有完全實現(xiàn),以后應(yīng)該會成為標(biāo)準(zhǔn)。如果誰知道更合理的解釋,也希望告訴我。但我想表達(dá)的是,正是因為hash_map不是標(biāo)準(zhǔn)的,所以許多平臺上安裝了g++編譯器,不一定有hash_map的實現(xiàn)。我就遇到了這樣的例子。因此在使用這些非標(biāo)準(zhǔn)庫的時候,一定要事先測試。另外,如果考慮到平臺移植,還是少用為佳。

    轉(zhuǎn)載于:https://www.cnblogs.com/theCambrian/p/3931556.html

    總結(jié)

    以上是生活随笔為你收集整理的C++ STL中哈希表 hash_map介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    欧美专区国产专区 | 免费在线观看黄 | 亚洲精品在线观看视频 | 午夜12点 | 在线99热| 欧美专区日韩专区 | 美女黄濒| 性色av免费观看 | 激情深爱.com | а天堂中文最新一区二区三区 | 日韩三级久久 | 亚洲精品在线观看免费 | 夜夜骑日日| 亚洲亚洲精品在线观看 | 国产日韩一区在线 | 国产精品毛片久久久久久 | 在线综合 亚洲 欧美在线视频 | 日本高清免费中文字幕 | 成人a毛片| 色偷偷人人澡久久超碰69 | 免费a v在线 | 日韩成人高清在线 | 国产精品女人久久久 | 最新av中文字幕 | 久久狠狠亚洲综合 | 日本激情动作片免费看 | 国产精品久久久毛片 | a久久久久| 97日日 | 手机看片1042 | 亚洲精品国产自产拍在线观看 | 超碰在线观看av.com | 欧美日韩国产一区二区在线观看 | 激情视频免费观看 | 亚洲国产成人久久综合 | 日韩大陆欧美高清视频区 | 中文字幕视频观看 | 国产破处视频在线播放 | 国产精品亚洲综合久久 | 中文字幕字幕中文 | 九九九免费视频 | 97超碰资源总站 | 夜夜操狠狠操 | 亚洲国产黄色片 | 国产一区 在线播放 | 中文字幕一区二区三区在线视频 | 久章草在线 | 欧美黑人xxxx猛性大交 | 日韩视频免费观看高清完整版在线 | 国产中文字幕在线免费观看 | 亚洲精品男人天堂 | 天天干.com| 久草精品在线播放 | 久久综合导航 | 麻豆视频免费入口 | 日韩av中文字幕在线 | 中文字幕日韩精品有码视频 | 亚洲国内精品在线 | 在线视频观看亚洲 | 亚洲一级免费电影 | 国产亚洲婷婷免费 | 欧洲视频一区 | 亚洲天堂网在线观看视频 | 国产精品99久久免费黑人 | 日韩欧美在线观看一区二区三区 | 在线观看亚洲精品 | 又黄又刺激视频 | 国产黄a三级三级三级三级三级 | av电影中文 | av福利电影 | 免费午夜av | av在观看 | 久久精品视频观看 | 国产亚洲午夜高清国产拍精品 | 中文字幕九九 | 国产手机视频精品 | 一级黄色片在线观看 | 欧美激情综合五月色丁香 | 亚洲综合在线播放 | 欧美最新大片在线看 | 91丨九色丨蝌蚪丨对白 | 九九热免费在线视频 | 中文在线天堂资源 | 日本精品一区二区三区在线观看 | 久久久免费观看 | 天天操天天拍 | 天天射天天舔天天干 | 国产精品乱码一区二区视频 | 亚洲特级毛片 | 又黄又刺激的视频 | 日韩免费电影一区二区三区 | av五月婷婷 | 99精彩视频 | 中文av免费| 91麻豆精品国产自产在线 | 久艹视频免费观看 | 日本亚洲国产 | 国产亚洲精品久久久网站好莱 | 日韩精品一区二区三区三炮视频 | 亚洲成a人片综合在线 | 国产精品久久中文字幕 | 四虎国产视频 | 久久男人免费视频 | 毛片99| 日本在线观看黄色 | 色94色欧美 | 国产精品久99| 91在线在线观看 | 国产剧情一区在线 | 免费特级黄毛片 | 日韩欧美在线一区二区 | www.天天射.com | www.夜夜| 久久天天操| 亚一亚二国产专区 | 国产亚洲婷婷免费 | 成人av影视 | 91av网址| 午夜影院在线观看18 | 色婷婷综合成人av | 成人毛片一区二区三区 | 国产一及片 | 午夜三级福利 | 91资源在线观看 | 亚洲永久精品在线观看 | 亚洲欧美少妇 | 亚洲va天堂va欧美ⅴa在线 | 特级a老妇做爰全过程 | 婷香五月 | 一区二区理论片 | 天天爽人人爽夜夜爽 | 99精品视频在线看 | 久久久精品午夜 | 少妇性xxx| 99国产一区二区三精品乱码 | 国产黄色精品在线 | 懂色av懂色av粉嫩av分享吧 | 亚洲区视频在线 | 香蕉手机在线 | 欧美99热 | 亚洲国产日韩欧美 | 亚洲h在线播放在线观看h | 免费国产在线观看 | 久久精品国亚洲 | 成人免费观看电影 | 精品久久片| 中文字幕 国产专区 | 国产成人一区二区三区在线观看 | 四虎在线观看视频 | 婷婷综合视频 | 黄色成人av在线 | 日本韩国精品一区二区在线观看 | 日韩免费| 狠狠色丁香 | 国产爽视频 | 五月天婷亚洲天综合网鲁鲁鲁 | 亚洲一级久久 | 成人毛片一区二区三区 | 免费高清在线观看电视网站 | 久久精品亚洲精品国产欧美 | 日韩av福利在线 | 欧美一区免费在线观看 | 色噜噜噜 | 99久久99久久精品 | 国产无套一区二区三区久久 | 亚洲精品一区二区在线观看 | 国产一区二区三区四区在线 | 99久久久国产免费 | 久久成人麻豆午夜电影 | 日韩电影在线观看中文字幕 | 在线观看岛国 | 亚洲国产日韩在线 | www最近高清中文国语在线观看 | 精品久久久久久久久久久久 | 视频在线国产 | 久久国产精品电影 | 国产高清视频色在线www | 99色精品视频 | 亚洲最大成人免费网站 | 久久久免费播放 | 亚洲精品综合久久 | 一级电影免费在线观看 | 韩国视频一区二区三区 | 欧美午夜剧场 | 日本久久久久久久久 | 久久久激情视频 | 国产色一区 | 久99久精品视频免费观看 | 99久久久国产精品美女 | 欧美午夜剧场 | 亚洲黄色免费观看 | 国产成人精品在线观看 | 久久久久久电影 | 亚洲 欧美 综合 在线 精品 | 中文字幕91 | 日韩在线视频二区 | 97国产超碰| 婷婷av资源| 日日干干夜夜 | www.久久婷婷| 国内三级在线观看 | 亚洲一区久久久 | 亚洲成人av片 | 九九在线精品视频 | 免费日韩高清 | 国内精品久久久久久久久久清纯 | 国产999精品| www.久久久久| 玖玖在线视频观看 | 国产欧美精品一区二区三区四区 | 中文字幕不卡在线88 | 久久国产精品偷 | 在线观看黄色的网站 | 成人全视频免费观看在线看 | 波多野结衣电影一区 | 国产第一页福利影院 | 久久久亚洲国产精品麻豆综合天堂 | 成人av电影在线播放 | 国产色在线视频 | 91视频午夜 | 天天色成人网 | 偷拍精偷拍精品欧洲亚洲网站 | 三级免费黄 | 97超碰免费在线 | 96精品在线| 三级动态视频在线观看 | 国产一区二区三区午夜 | 久久老司机精品视频 | 久久精品5 | 欧美日韩激情网 | 日韩精品一区二区三区外面 | av免费网页 | 国产一区二区三区四区在线 | 中文字幕日本在线 | 欧美成人精品三级在线观看播放 | 久99久在线 | 麻豆91精品91久久久 | 中文字幕第一 | 亚洲精品综合欧美二区变态 | 婷婷在线播放 | 伊人狠狠操 | 日韩av偷拍 | 日本在线观看一区二区三区 | 色天天久久 | 国外调教视频网站 | 99色| 黄色网址中文字幕 | 超碰在线成人 | 日韩国产精品久久久久久亚洲 | 91av在线免费视频 | 婷婷丁香七月 | av久久久 | 成年人免费观看在线视频 | 一级黄网| 最近中文字幕在线中文高清版 | 亚洲精品国产欧美在线观看 | 狠狠干干 | 日本xxxxav | 亚洲精品一区二区18漫画 | 中文在线免费一区三区 | 97av精品| a在线v| 免费观看9x视频网站在线观看 | 天天看天天操 | 91香蕉视频色版 | av电影中文 | 在线国产欧美 | 不卡av在线免费观看 | 丁香婷婷亚洲 | 99久久99久久免费精品蜜臀 | 国产精品一区二区三区久久久 | 亚a在线 | 久草在线免费资源 | 国产精品激情在线观看 | 天天曰天天爽 | 亚洲精品欧美成人 | 欧美日韩p片 | 久久久久久久久久久久99 | 欧美日韩在线视频一区二区 | 中文字幕av电影下载 | 久久久久久久久久久久电影 | 亚洲综合一区二区精品导航 | 91精品久久久久久久久久入口 | 国产理论免费 | av在线免费在线 | 亚洲在线高清 | 手机av网站 | 天天操天天射天天 | 日本黄色免费网站 | 国产视频在线看 | av在线网站免费观看 | 久久婷婷色 | 中文字幕 国产精品 | 91亚色视频| 欧洲精品视频一区二区 | 91麻豆国产福利在线观看 | 91最新在线 | 992tv人人网tv亚洲精品 | 国产日产精品一区二区三区四区的观看方式 | 久久成人国产精品入口 | 99在线精品视频观看 | 久久久久国产精品视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 成年人在线播放视频 | 日韩中文字幕视频在线 | 天天操比 | 日韩精品大片 | 青草视频在线 | 国产在线污 | 亚洲精品中文在线资源 | 九色激情网 | 又爽又黄又刺激的视频 | 精品中文字幕视频 | 免费91麻豆精品国产自产在线观看 | 中文字幕精品一区二区三区电影 | 国产福利中文字幕 | 五月婷av | 欧美午夜精品久久久久久浪潮 | 精品一区二区综合 | 国产精品a久久 | 五月天综合激情网 | 超碰在线天天 | 国产精品久久久久久久电影 | 欧美成人精品三级在线观看播放 | 一区二区精品在线视频 | www.黄色网.com | 国产精品一区二区电影 | 少妇bbbb搡bbbb桶 | 国产美腿白丝袜足在线av | 九九热有精品 | 免费十分钟| 成片视频免费观看 | 操老逼免费视频 | 最近中文字幕免费大全 | 毛片www| 日日干,天天干 | 热久久国产精品 | 51精品国自产在线 | 在线影院中文字幕 | 国产美女免费 | 天天爽夜夜爽人人爽一区二区 | av中文字幕免费在线观看 | 国产精品美女999 | 久久99精品久久久久蜜臀 | 国产裸体无遮挡 | 亚洲视频免费视频 | 色婷婷狠狠五月综合天色拍 | 伊人电影天堂 | 国产精品va在线观看入 | 成人av网站在线播放 | 色婷婷国产 | 国产精品初高中精品久久 | 黄色av网站在线观看免费 | 久久久精品国产免费观看同学 | 99久久免费看 | 国产精品第二页 | 日本在线免费看 | 欧美精品二区 | 日韩动漫免费观看高清完整版在线观看 | 久久色在线播放 | 视频高清 | 日韩视频一区二区三区在线播放免费观看 | 一本一道久久a久久精品蜜桃 | 国产精品专区在线 | 欧美一区二区三区在线观看 | 人人干人人草 | 中文在线资源 | 免费观看v片在线观看 | 三级黄色片在线观看 | 日本不卡123| 久久试看| 99精品欧美一区二区 | 奇米7777狠狠狠琪琪视频 | 国产亚洲一区二区在线观看 | 国产午夜一区 | 国产麻豆精品久久 | 黄污在线看 | 久草在线看片 | 国产精品片 | 2018亚洲男人天堂 | 五月婷婷丁香六月 | 青青草在久久免费久久免费 | 中文在线www | 91黄站| 国产亚洲精品精品精品 | 成人av动漫在线 | 午夜色场 | 综合网欧美 | 国产精品九九九九九九 | 日韩精品在线免费播放 | 日日综合网 | 久亚洲| 91成年人视频| 久久久久免费精品国产小说色大师 | 国产一区在线精品 | 成人免费xxx在线观看 | 日韩系列 | 色av色av色av | 99riav1国产精品视频 | 日本婷婷色 | 中文字幕国语官网在线视频 | 人人看人人做人人澡 | av在线之家电影网站 | 综合色狠狠 | 999久久国精品免费观看网站 | 在线观看视频91 | 精品视频免费久久久看 | 天天摸天天干天天操天天射 | 天天·日日日干 | 波多野结衣网址 | av在线成人 | 久久av观看 | 免费在线观看av不卡 | 日韩av在线不卡 | 成年人app网址 | 久久午夜电影网 | 欧美一区二区三区免费观看 | 久久久久久久免费 | 免费高清在线视频一区· | 亚洲国产午夜精品 | 成人av亚洲 | 91精品国产三级a在线观看 | 日本中文一级片 | 国产一区二区电影在线观看 | 国产色秀视频 | 精品国模一区二区 | 久久精品毛片基地 | 狠狠色噜噜狠狠 | 天天爽网站 | 人人涩| 81精品国产乱码久久久久久 | 香蕉影院在线 | 五月天伊人网 | 偷拍视频一区 | 日韩综合精品 | 99热这里有精品 | 国产麻豆成人传媒免费观看 | 草 免费视频 | 国内精品久久久久久久久久久 | 国产视频18 | 中文字幕在线视频网站 | 免费91在线 | 日韩av进入| 97超碰免费 | 在线免费中文字幕 | 亚洲精品视频在线观看免费视频 | 在线电影中文字幕 | 中文字幕av在线电影 | 久久草草热国产精品直播 | 91精品在线观看视频 | 亚洲精品一区二区精华 | 美女黄久久 | 国产香蕉视频 | 亚洲电影成人 | www.com.黄| av福利资源 | 久久久久www | 日韩欧美一区二区不卡 | 欧美国产三区 | 免费高清av在线看 | 最新极品jizzhd欧美 | 香蕉视频在线网站 | 91精品国自产在线 | 国产精品中文字幕在线观看 | 欧美aaa大片 | 丁香六月中文字幕 | 亚洲国产精品日韩 | 国产亚洲精品女人久久久久久 | 国产中文字幕在线播放 | 国产精品免费久久久久影院仙踪林 | 人人要人人澡人人爽人人dvd | 国产成人av一区二区三区在线观看 | 99久久国产免费免费 | 超碰人人在线 | 午夜精品福利一区二区三区蜜桃 | 在线视频手机国产 | 亚洲综合爱 | 色综合久久88色综合天天免费 | 国产黄色在线看 | 成人精品国产免费网站 | 久久超 | 91在线视频免费91 | 国产婷婷vvvv激情久 | 91香蕉视频 | 久久国产精品成人免费浪潮 | 久久视频二区 | 免费在线成人 | 欧美日韩免费视频 | 欧美精品久久 | 九九热99视频 | 国产精品初高中精品久久 | 天天鲁天天干天天射 | 91av久久| 在线观看免费 | 精品一区二区三区久久久 | 亚洲精品一区二区三区在线观看 | 日本久久精品 | 999视频网 | 夜夜躁狠狠躁 | 六月丁香激情网 | 成人久久久久久久久久 | 白丝av免费观看 | 狠狠色丁香久久婷婷综合丁香 | 91三级视频 | 国精产品一二三线999 | 免费a v在线| 在线中文字幕电影 | 国产不卡毛片 | 成年人黄色大片在线 | 超碰97av在线 | 精品国产aⅴ麻豆 | 天天操网站 | 国产精品亚洲成人 | 久久久免费观看完整版 | 不卡的av中文字幕 | 欧美日韩xxxxx | 国产成人精品一区二区在线 | 久久av影视 | 亚洲免费在线观看视频 | 久久国产精品视频免费看 | 97中文字幕 | 超碰在线亚洲 | 久草在线视频中文 | 91久久偷偷做嫩草影院 | 热久精品| 国产视频在线观看一区 | 中文字幕视频一区二区 | 香蕉影院在线播放 | 中文字幕影片免费在线观看 | 99久在线精品99re8热视频 | 久久久综合香蕉尹人综合网 | 高清免费在线视频 | 丁香婷婷社区 | 日韩综合第一页 | 久久免费黄色 | 天天操操| 久久精品视频日本 | 久久久久北条麻妃免费看 | 色综合久久88 | 在线有码中文字幕 | 国产69精品久久久久99尤 | www.婷婷色 | 色五丁香| 日日躁天天躁 | 国产精品九九九九九 | 国产超碰在线观看 | 国产视频资源在线观看 | 五月开心六月伊人色婷婷 | 国产二区视频在线观看 | 久久久精品视频网站 | 九月婷婷人人澡人人添人人爽 | 六月婷婷久香在线视频 | 在线观看免费国产小视频 | 午夜精品久久久久久久99 | 国产涩涩在线观看 | 日韩69av | 久草视频看看 | 国产精品女人久久久 | 黄色特级一级片 | 免费在线观看av的网站 | 操高跟美女| 国产爽妇网 | 免费一级特黄录像 | 国产中文字幕一区二区 | 色综合天天干 | 国产在线2020 | 黄污网站在线观看 | 久久久精品久久日韩一区综合 | 日韩和的一区二在线 | 久久久免费少妇 | 中文在线天堂资源 | 久久久香蕉视频 | 亚洲三级性片 | 亚洲免费观看视频 | 天天干夜夜干 | 午夜久久久久久久久久影院 | 日韩在线小视频 | 久久精品九色 | 狠狠狠色丁香综合久久天下网 | 一级片观看| 最新高清无码专区 | 亚洲一级久久 | 欧美一级视频一区 | 久久久久在线观看 | 日韩精品欧美专区 | 97国产超碰在线 | 国产成人一区二区三区电影 | 激情影院在线观看 | 天天躁天天躁天天躁婷 | 国产美女视频免费观看的网站 | 五月婷婷综合网 | 国产高清专区 | 天天摸天天操天天爽 | 亚洲做受高潮欧美裸体 | 高清av免费看 | 日韩电影在线一区二区 | av黄色av | 精品国产乱码久久久久久三级人 | 国产91精品在线播放 | 99热99re6国产在线播放 | 激情综合电影网 | 国产中文字幕视频在线 | 国产精品com| 国产视频日本 | 亚洲激情综合 | 一区二区电影网 | 亚洲精品国产精品国产 | 五月婷婷欧美 | 久久久久久久久久电影 | 探花视频免费在线观看 | 久草影视在线观看 | 日韩aⅴ视频 | 五月天中文在线 | 久久免费av| 亚洲欧洲xxxx | 五月天婷婷综合 | 韩日精品中文字幕 | 极品嫩模被强到高潮呻吟91 | 国产99免费 | 免费v片| 国产精品青青 | 久久丁香 | 69国产盗摄一区二区三区五区 | 一区二区三区www | 最新国产精品久久精品 | 日韩欧美综合视频 | 国产91精品一区二区 | 国产在线无 | 国产亚洲精品久久久久久电影 | 亚洲在线网址 | 国产麻豆精品免费视频 | 国产18精品乱码免费看 | 午夜精品久久久久久久99 | 黄色大片网| 国产精品一区二区无线 | 99r在线 | 久色免费视频 | 国产精品资源 | 精品国产人成亚洲区 | 国产伦精品一区二区三区在线 | 国产精品欧美久久久久无广告 | 亚洲免费av在线 | 在线黄色免费av | .国产精品成人自产拍在线观看6 | 国产原创av片 | 丝袜美腿在线 | 日本中文字幕网址 | 亚洲精品视频播放 | 日韩字幕在线观看 | 四虎小视频 | www激情久久 | 国产精品美女毛片真酒店 | 97香蕉久久国产在线观看 | 蜜桃久久久 | 日日夜夜免费精品 | 亚洲一区美女视频在线观看免费 | 黄色小视频在线观看免费 | 国产污视频在线观看 | 久久极品 | 黄色av网站在线免费观看 | 18国产精品福利片久久婷 | 国产视频精品免费 | 国产精品岛国久久久久久久久红粉 | 91网址在线| 欧美性色综合 | 夜夜视频资源 | 91九色网址| 欧美日韩一区二区在线 | 成人在线观看资源 | 国产亚洲人成网站在线观看 | 欧美国产日韩一区二区三区 | 91看片在线免费观看 | 午夜美女网站 | 国产成人免费观看久久久 | 久久精品久久精品久久39 | 亚洲欧洲精品久久 | 992tv在线观看网站 | 黄色的网站免费看 | 久久国产经典视频 | 一区二区精品国产 | 美女免费黄视频网站 | 午夜av激情 | 日日夜夜天天久久 | 国内精品视频在线 | 狠狠地日 | 日韩免费观看一区二区三区 | 在线天堂8√ | 欧美精品生活片 | 色婷婷久久久综合中文字幕 | 亚洲91精品 | 麻豆国产精品一区二区三区 | 在线观看午夜 | 国产精品久久久久久麻豆一区 | 人人澡人摸人人添学生av | 91九色在线观看视频 | 丁香激情视频 | 91福利社区在线观看 | 在线亚洲激情 | 亚洲永久精品在线 | 婷婷 综合 色| 日韩午夜三级 | 97在线精品国自产拍中文 | 91视频黄色 | 久草视频中文在线 | 天天搞天天干天天色 | 亚洲成人免费在线观看 | 夜夜躁日日躁狠狠躁 | 国产精品嫩草影院123 | 亚州国产精品视频 | 成人黄视频 | 狠狠狠干 | 日本一区二区免费在线观看 | 91在线看黄 | 国产在线精品播放 | 久久久久久久影院 | 亚洲精品国产精品国自产观看 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 久久男人中文字幕资源站 | 天天爱天天操天天爽 | 一区二区三区 亚洲 | 国产成人久久精品 | 成人 国产 在线 | 欧美日韩免费在线视频 | www天天操| 97人人添人澡人人爽超碰动图 | 国产黄色片一级三级 | 亚洲波多野结衣 | 天天射天天射天天射 | 免费日韩一级片 | 久久99久久99精品中文字幕 | 字幕网av| 1024手机在线看 | 婷婷电影在线观看 | 青草草在线视频 | 天天操天天吃 | 国产日产精品一区二区三区四区的观看方式 | 日韩在线免费播放 | 99久久日韩精品免费热麻豆美女 | 黄色a视频免费 | 久久久久久久电影 | 国产精品正在播放 | 午夜久久久精品 | 日韩欧美精品一区二区三区经典 | 久久免费看av| 国产黑丝一区二区 | 欧美成人精品在线 | 免费久久久久久久 | 欧美色888 | 日韩欧美电影在线 | 久草视频在线看 | 五月婷婷视频在线 | 精品国产亚洲一区二区麻豆 | 国产精品亚洲人在线观看 | 日韩两性视频 | 日韩欧美综合在线视频 | 亚洲精品在线一区二区三区 | 成 人 黄 色 视频播放1 | 成人精品国产免费网站 | 成人午夜电影在线播放 | 日韩精品免费在线观看视频 | 国产亚洲视频中文字幕视频 | 国产福利在线不卡 | av电影亚洲| 91精品在线视频观看 | 欧美-第1页-屁屁影院 | 精品黄色片 | 日日综合 | 亚洲 欧美 另类人妖 | 99视频+国产日韩欧美 | 国产视频午夜 | 在线观看免费版高清版 | 欧美xxxxx在线视频 | 久草视频99 | 国产亚州av | 五月婷婷丁香六月 | 中文字幕一区二区三区在线视频 | 午夜av不卡 | 黄色网在线播放 | 天天草天天草 | 亚洲一区二区视频在线 | 91看片网址 | 亚洲精品一区二区18漫画 | 高清在线一区二区 | 五月激情丁香图片 | 成人免费观看视频网站 | 中文在线字幕观看电影 | 国产精品久久久久免费观看 | 丁香综合av | 婷婷激情在线 | 亚洲人人精品 | 欧美久久久久久久久久久 | 中文字幕第一页在线播放 | 久久美女视频 | 国产中文在线字幕 | 国产中文字幕久久 | 丰满少妇高潮在线观看 | 久久韩国免费视频 | 97视频在线观看播放 | 色综合久久中文字幕综合网 | 成人免费一级 | 久久99久久精品 | 亚洲国产av精品毛片鲁大师 | 日韩激情一二三区 | 99精品99 | 国产精品 久久 | 久久综合久久88 | 999久久久久久久久 69av视频在线观看 | 在线 影视 一区 | 久久黄色影院 | 欧美va天堂va视频va在线 | 精品亚洲成a人在线观看 | 日韩电影中文,亚洲精品乱码 | 9色在线视频 | 99精品国产99久久久久久97 | 久草免费在线视频观看 | 在线最新av | 久久美女精品 | 成年人毛片在线观看 | 欧美乱码精品一区二区 | 在线黄av | 亚洲激情一区二区三区 | 五月婷婷综合激情网 | 黄免费在线观看 | 99tvdz@gmail.com| 不卡av电影在线观看 | 日韩黄色免费在线观看 | 国产色道 | 国产人免费人成免费视频 | av黄色在线| 日本精品久久久久 | 日本动漫做毛片一区二区 | 久草在线视频在线观看 | 丁香高清视频在线看看 | 久久艹中文字幕 | 99婷婷狠狠成为人免费视频 | 精品视频在线视频 | 日本久久成人中文字幕电影 | 激情综合交 | 日韩精品资源 | 欧美色噜噜噜 | 国产精品福利在线 | 久草www| 超碰97中文 | 伊人久久国产 | 欧美日韩一区二区三区视频 | 夜夜看av | 91精品国产一区二区在线观看 | 91传媒免费在线观看 | 一区二区网 | 9999在线观看 | 久久激五月天综合精品 | 日韩资源在线播放 | 综合网久久 | 97av.com | 日韩中文字幕a | 久久精品xxx | 91网址在线观看 | 久久国产精品99久久久久久进口 | 欧美激情视频一二区 | 射久久| 探花在线观看 | 国产亚洲精品久久久网站好莱 | 免费观看黄色av | 九九九九精品九九九九 | 久久成人毛片 | 日日干美女 | 99亚洲精品 | www178ccom视频在线 | 国产在线观看你懂得 | 激情网五月婷婷 | 四虎国产精品成人免费4hu | 欧美三级高清 | 国产免费视频在线 | 国产精品午夜久久 | 亚洲视频久久 | 最新av网站在线观看 | 国产不卡一二三区 | 日韩羞羞 | 国产精品一区二区av | 欧美日韩xxxxx | 国产精品久久久久久高潮 | 欧美做受69 | 四虎成人精品永久免费av | 精品国产免费观看 | 亚洲 欧美变态 另类 综合 | 日韩视频免费观看高清 | 在线观看成人av | 国产手机精品视频 | 久久久国产高清 | 欧美一级黄色片 | 免费看的视频 | 成人欧美一区二区三区黑人麻豆 | 精品国内自产拍在线观看视频 | 狠狠的干| 亚洲黄污| 久草在线播放视频 | 丁香视频 | 免费看片黄色 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久无码精品一区二区三区 | www.com操| 人人澡人人澡人人 | 国产黄色av网站 | 天天曰天天 | 激情黄色av | 人人超在线公开视频 | 久久a国产 | 国产精品美女免费看 | 中文字幕文字幕一区二区 | 美女一级毛片视频 | 人人爽人人干 | 成人av片在线观看 | 波多野结衣在线中文字幕 | 欧美成人免费在线 | 亚洲三级黄色 | 色婷婷成人网 | 99国产精品久久久久久久久久 | 手机看片中文字幕 | 中文在线免费一区三区 | 97色噜噜 | 中文在线免费看视频 | 黄色av影视 | www.午夜 | 国产福利久久 | www.狠狠干| 91亚洲精品视频 | 欧美亚洲精品在线观看 | 伊人伊成久久人综合网小说 | 中文字幕在线看视频国产 | 免费看三级网站 | 欧日韩在线视频 | 成人免费xxxxxx视频 | 91系列在线观看 | 久久久久久久久久久高潮一区二区 | 视频一区二区精品 | 一区二区三区四区五区在线 | 天堂在线一区 | 一区精品久久 | 日本中文字幕一二区观 | 亚洲成人av在线 | 久久免费试看 | 美女黄网久久 | 亚洲国产人午在线一二区 | 亚洲电影影音先锋 | 91久久久久久久一区二区 | 97夜夜澡人人双人人人喊 | 日韩在线网 | 婷婷激情站 | 成人在线免费视频 | 九色91福利 | 伊人五月婷 | 精品女同一区二区三区在线观看 | 男女拍拍免费视频 | 2018好看的中文在线观看 | 久久免费电影网 | 亚洲另类在线视频 | 97人人人人 | 麻豆视频免费入口 | 亚洲精品国偷拍自产在线观看 | 亚洲视频分类 | 麻豆传媒视频在线免费观看 | 亚洲一级二级 | 波多野结衣在线视频免费观看 | 欧美一级裸体视频 | 免费黄色a网站 | 国产黄色av影视 | 成人a免费看 | 国产国产人免费人成免费视频 | 久久99精品久久只有精品 | av免费电影在线观看 | 久久只精品99品免费久23小说 | 成人激情开心网 | 久久毛片网 | 天天色成人 | 婷婷av色综合 | 中文字幕一区二区三区乱码不卡 | 中文不卡视频在线 | 青青河边草免费 | 国产精品毛片久久久久久久久久99999999 | 一区二区三区四区久久 | 伊人久久一区 | a视频在线 | 国产成人三级三级三级97 | 天天看天天干天天操 | 国产精品v欧美精品v日韩 | 91传媒免费在线观看 | 亚洲精品www久久久 www国产精品com | 亚洲最新精品 | 欧美极品少妇xbxb性爽爽视频 | 4438全国亚洲精品在线观看视频 | 最新精品国产 | 日本xxxx裸体xxxx17 | 亚洲毛片一区二区三区 | 特级毛片爽www免费版 | 91精品国产高清自在线观看 | 亚洲欧美视频 | 中文字幕 二区 | 在线观看成人国产 |