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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

Trie实现(C++)

發(fā)布時(shí)間:2024/4/17 c/c++ 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Trie实现(C++) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考了本文:http://www.cnblogs.com/xulb597/archive/2012/07/05/2578562.html

  • 支持模糊搜索,比如,【bkmh】可以匹配【BuKaManHua】;
  • 支持優(yōu)先級(jí),首字母、大小字母有更高的優(yōu)先級(jí)。

亟需解決的問題:

  • 目前搜索結(jié)果與關(guān)鍵詞中字母的順序無關(guān),即【buk】可以匹配【BKManHua】
  • 若條目中存在重復(fù)的任意關(guān)鍵字,即使不包含其他關(guān)鍵字,仍然能匹配上來
  • 內(nèi)存的占用:因?yàn)榻佑|C++不久,內(nèi)存管理一竅不通,一個(gè)1.65MB的文件(312964個(gè)單詞),索引之后程序(VS2013編譯,Release版本)的內(nèi)存有68 860KB,

trie.hpp

#ifndef TRIE #define TRIE#include "LinkedList.hpp" #include "MatchInfo.hpp"#include <stdlib.h> #include <iostream> #include <string>#define BRANCH_SIZE 28 #define START_CHAR 'a'#define INDEX(x) (x == '?'? 27 : (x == '*'? 26 : x - START_CHAR))class Trie { public:Trie(){rootNode = new Trie_Node(0);memset(nodeMap, NULL, sizeof(nodeMap));memset(indexList, NULL, sizeof(indexList));}~Trie(){//delete rootNode; }void insert(const char *data, const int i){bool flag_start = false,flag_capital = false;Trie_Node *location = rootNode;int pos = 0;while (*data){char c = *data;// check wether it's capital and convert to lowwer case if so.if(c > 'A'-1 && c < 'Z'+1){flag_capital = true;c += 32;}else{flag_capital = false;}// map the char value to int which starts from 0int index = INDEX(c);// skip invalid charsif(index < 0){data++;pos++;continue;}// find nextif(location->next[index] == NULL){location->next[index] = getNode(index);}location = location->next[index];// build MatchInfo and add it to the trie node's indexListMatchInfo *info = new MatchInfo();info->itemindex = i;info->position = pos; // position of the char in the stringinfo->priority = 1;// intial or capital char has a higher priorityif(!flag_start){flag_start = true;info->priority++;}if(flag_capital)info->priority++;if(indexList[index] == NULL)indexList[index] = new LinkedList<MatchInfo>();indexList[index]->add(info);data++;pos++;}// end character has a higher priority//location->indexList->getCurrent()->value->priority++; }/*int match(const char *data){Trie_Node *location = rootNode;while (*data && location){location = location->next[INDEX(*data)];data++;}return (location != NULL);}*//*void fuzzy_match(const char *data, int* indexMap, size_t indexMapLength){predicateIndexMap(data, indexMap, indexMapLength);int index;Trie_Node *location = rootNode;while (*data && location){index = INDEX(*data);location = location->next[INDEX(*data)];if(location != NULL){fillIndexArray(indexMap, index);}data++;}}*/void fuzzy_match(const char *data, int* indexMap, size_t indexMapLength){predicateIndexMap(data, indexMap, indexMapLength);int index;Trie_Node *location = nodeMap[INDEX(*data)];do{index = INDEX(*data);if(location != NULL){fillIndexArray(indexMap, index);}else{break;}data++;} while ((*data) && (location = nodeMap[index]));}/*void print(){print(rootNode);}*/private://// a list to record matche info of each char in indexed words.// it's for priority and fuzzy seaching.// LinkedList<MatchInfo>* indexList[BRANCH_SIZE];struct Trie_Node{//int index;Trie_Node *next[BRANCH_SIZE];Trie_Node(int _index){//index = _index;memset(next, NULL, sizeof(next));};~Trie_Node(){//delete indexList;for (int i = 0; i < BRANCH_SIZE; i++){if(next[i])delete next[i];}}};Trie_Node *rootNode;//// a map to hold all created Trie_Node.// Trie_Node *nodeMap[BRANCH_SIZE];//// /*get a trie node from map.*/// return a new Trie_Node;// index: (char - 'a')// Trie_Node *getNode(int index){//return new Trie_Node(index);Trie_Node *tempNode = nodeMap[index];if(tempNode == NULL){tempNode = new Trie_Node(index);nodeMap[index] = tempNode;}return tempNode;}//// fill [indexMap] with priority of char at [index]// void fillIndexArray(int* indexMap, int index){if(indexList[index] == NULL)indexList[index] = new LinkedList<MatchInfo>();LinkedList<MatchInfo> *list = indexList[index];Node<MatchInfo> *node = list->getRoot();while (node){int itemIndex = node->value->itemindex;if(indexMap[itemIndex] != -1)indexMap[itemIndex] += node->value->priority;node = node->next;}}//// keep moving node to next until it's itemindex in value has been changed.// node will set to NULL if reaches the end.// void moveToNextItemIndex(Node<MatchInfo> **node){int index = (*node)->value->itemindex;if((*node)->next == NULL)(*node) = NULL;else{while ((*node)->value->itemindex == index){(*node)=(*node)->next;if((*node) == NULL)break;}}}//// predicate whether an index in indexMap is impossiable to be matched.// It will be set to -1 if so.// void predicateIndexMap(const char* keyword, int* indexMap, size_t indexMapLength){int *indexesMatched = new int[indexMapLength];int keywordLength = strlen(keyword);unsigned int keywordRecords[BRANCH_SIZE];size_t size = indexMapLength * sizeof(int);memset(indexesMatched, 0, size);memset(indexMap, -1, size);LinkedList<MatchInfo> *list;Node<MatchInfo> *match_node;int charIndex, index = 0;while (*keyword){charIndex = INDEX(*keyword);if(keywordRecords[charIndex] == 1){keyword++;continue;}keywordRecords[charIndex] = 1;list = indexList[charIndex];if(list != NULL){match_node = list->getRoot();while (match_node != NULL){indexesMatched[match_node->value->itemindex]++;match_node = match_node->next;//moveToNextItemIndex(&match_node); }}keyword++;}for (int i = 0; i < indexMapLength; i++){if(indexesMatched[i] >= keywordLength)indexMap[i] = 0;}delete indexesMatched;}/*void print(Trie_Node* node){char c;for (int i = 0; i < BRANCH_SIZE; i++){if(node->next[i] != NULL)\n{c = node->index + 'a';printf("%c-", c);print(node->next[i]);}}}*/ }; #endif // TRIE View Code

LinkedList.hpp

#ifndef LINKEDLIST #define LINKEDLIST#include <stdlib.h> #include <iostream>template <class T> struct Node {T* value;int index;Node *next;Node(T* _value, int _index){value = _value;index = _index;}~Node(){delete value;} };template <class T> class LinkedList { public:int length;LinkedList(){length = 0;root = new Node<T>(NULL, 0);current = root;};~LinkedList(){Node<MatchInfo> *node = root;Node<MatchInfo> *tmp;while (node){tmp = node->next;delete node;node = tmp;}};void add(T *value){if(length == 0){root->value = value;root->index = 0;}else{current->next = new Node<T>(value, current->index + 1);current = current->next;}length++;current->next = NULL;};Node<T> getAt(int index){Node<T> *node = root;while (node){if(node->index == index)return node;node = node->next;}return NULL;}Node<T> *getRoot(){return root;}Node<T> *getCurrent(){return current;} private:Node<T> *root,*current; };#endif // LINKEDLIST View Code

MatchInfo.hpp

#ifndef DEFINE_MatchInfo #define DEFINE_MatchInfo // // 字符的匹配信息 // struct MatchInfo {// 所在條目的序號(hào)int itemindex;// 所在的位置int position;// 優(yōu)先級(jí)int priority; }; #endif View Code

SortBiTree.hpp

#ifndef DEFINE_SortBiTree #define DEFINE_SortBiTree#include <stdlib.h> #include <iostream> #include <string>template <class T> struct BTNode {int index;T value;BTNode<T> *left,*right;BTNode(int _i, T _v){index = _i;value = _v;left = NULL;right = NULL;} };template <class T> class SortBiTree { public:SortBiTree(){root = NULL;}~SortBiTree(){}void add(int index, T value){BTNode<T> *node = root;if(root == NULL)root = new BTNode<T>(index, value);else{add_iter(root, index, value);}}BTNode<T> *getMaxNode(){return maxNode;}BTNode<T> *getRootNode(){return root;} private:BTNode<T> *root,*minNode,*maxNode;void add_iter(BTNode<T>* node, int index, int value){if(index > node->index){if(node->left != NULL){add_iter(node->left, index, value);}else{node->left = new BTNode<T>(index, value);maxNode = node->left;}}else{if(node->right != NULL){add_iter(node->right, index, value);}else{node->right = new BTNode<T>(index, value);minNode = node->right;}}} }; #endif View Code

Stopwatch.hpp

#ifndef STOPWATCH_DEF #define STOPWATCH_DEF #include <ctime>class Stopwatch { public:Stopwatch(){};~Stopwatch(){};static Stopwatch* StartNew(){Stopwatch* sw = new Stopwatch();sw->startTime = clock();return sw;}double Stop(){double t = (double)(clock() - startTime)/CLOCKS_PER_SEC;delete this;return t;} private:clock_t startTime; }; #endif View Code

main.cpp

#include <stdlib.h> #include <iostream> #include <string> #include <fstream> #include <sys/stat.h>#include "Stopwatch.hpp" #include "trie.hpp" #include "SortBiTree.hpp"using namespace std;int displayMaxItems = 10;unsigned long get_file_size(const char *path) {unsigned long filesize = -1; struct stat statbuff;if(stat(path, &statbuff) < 0){return filesize;}else{filesize = statbuff.st_size;}return filesize; }void readFromFile(const char* path, char** buff) {long length = get_file_size(path); // 取得文件大小if(length == -1){cerr << "content file is invalid!" << endl;system("quit");return;}FILE *f = fopen(path, "r");*buff = new char[length];fread(*buff, sizeof(char), length, f);fclose(f); }void readInlineChars(char* source, char** buff) {*buff = new char[strlen(source)];strcpy(*buff, source); }// // 用于顯示結(jié)果 // TODO:使用迭代器 // void inorder_traverse(BTNode<int> *node, char* words[], int* indexMap, int threshold) {if(displayMaxItems == 0)return;if (NULL != node->left) {inorder_traverse(node->left, words, indexMap, threshold);}int confidence = indexMap[node->value];if(confidence > threshold){printf("%i\t%i\t%s\n", node->value, confidence, words[node->value]);displayMaxItems--;}if (NULL != node->right) {inorder_traverse(node->right, words, indexMap, threshold);} }void main(char* argv){Trie t;SortBiTree<int> bt;char* cpy = new char[];//=====================================// 注意,大文件請(qǐng)自行修改,去掉words//=====================================char *words[256];printf("indexing...");//readFromFile("contents.txt", &cpy);readFromFile("app_list.txt", &cpy);//readInlineChars("PlayShangDian PhotoshopDesigner pho Pho BuKaManHua BKManHua", &cpy);//readInlineChars("abc acc caa acb aaa abb", &cpy);//readInlineChars("aac aaa", &cpy);char *tk = strtok(cpy, " ");size_t index = 0;Stopwatch *sw = Stopwatch::StartNew();t.insert(tk, index++);while (tk = strtok(NULL, " ")){words[index] = tk;t.insert(tk, index++);}printf("%i word(s) have been indexed. [%lf seconds]\n", index, sw->Stop()); label_enter:printf("I'm searching for:\n>");string input;const char *chars;while (true){cin >> input;chars = input.data();if(!isalpha(*chars) || (*chars <= 'Z' && *chars >= 'A')){printf("only lowwer character is accepted!\n>");}elsebreak;}int *indexMap = new int[index];sw = Stopwatch::StartNew();printf("searching...");t.fuzzy_match(chars, indexMap, index);printf("done. [%lf seconds]\n", sw->Stop()); label_change:bt = SortBiTree<int>();printf("please input the threshold:\n>");int threshold = 0;cin >> threshold;printf("calculating...");int count = 0;for (int i = 0; i < index; i++){int confidence = indexMap[i];if(confidence > threshold){count++;bt.add(confidence, i);}}printf(" [%i] words matched.\n", count);displayMaxItems = 10;if(count > displayMaxItems)printf("first 10 items are listed below.\n");goto label_display;label_display:printf("------------------------------------------\n");printf("index\tpriority\tcontent\n");printf("------------------------------------------\n");if(bt.getRootNode() != NULL)inorder_traverse(bt.getRootNode(), words, indexMap, threshold);elseprintf(" none \n");/*it = &bt.getIterator();while (it->hasNext()){int i = it->next();int confidence = indexMap[i];if(confidence > threshold){printf("%s\t%i\t%i\n",words[i], confidence, i);}}*/printf("------------------------------------------\n"); label_menu:printf("now you may want to : \n[1].See them all.\n[2].Change thresgold\n[3].Change keyword.\n[q].Exit\n>");char choise = 0;cin >> choise;switch (choise){case '1':displayMaxItems = -1;goto label_display;break;case '2':goto label_change;break;case '3':goto label_enter;break;case 'q':break;default:break;}//delete indexMap; } View Code

截圖:

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

總結(jié)

以上是生活随笔為你收集整理的Trie实现(C++)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

国产又粗又长的视频 | 精品欧美一区二区在线观看 | 六月丁香在线观看 | 香蕉在线视频播放网站 | 欧美日韩激情视频8区 | www.狠狠插.com| 亚洲精品日韩av | 日日操日日 | 99在线视频精品 | 国产午夜激情视频 | 欧美精品久 | 免费视频一二三区 | 久久九九影视 | 免费久久网 | 九九热视频在线免费观看 | 香蕉成人在线视频 | 久久精品久久综合 | 99精品欧美一区二区蜜桃免费 | 在线观看91av| 久久国产品 | 毛片美女网站 | 日韩av影视 | 国产伦理一区 | 日本一区二区三区免费看 | 91正在播放 | 99精品视频播放 | 久久尤物电影视频在线观看 | 国产精品久久久久久久久久了 | 欧美日韩精品综合 | 亚洲国产成人精品在线 | 五月婷婷狠狠 | 最近更新的中文字幕 | 在线观看av中文字幕 | 激情久久久久久久久久久久久久久久 | 亚洲区精品视频 | 91九色成人| 91精品久久久久久粉嫩 | 人人爱爱 | 亚洲一区二区三区四区精品 | 日本中文字幕网址 | 黄色亚洲在线 | 国产99久久久国产精品成人免费 | 色九九影院 | 狠狠久久伊人 | 国产精品欧美日韩在线观看 | 亚洲国产成人av网 | 亚洲精品网站在线 | 97在线观看免费观看 | 日韩av在线看 | 色av资源网 | 啪啪资源 | 久久精品香蕉视频 | 99人久久精品视频最新地址 | 久久都是精品 | 中文字幕精品一区 | 美国三级黄色大片 | 在线观看黄色国产 | 黄色成人91| 1000部18岁以下禁看视频 | 在线观看911视频 | 日本最新高清不卡中文字幕 | 成人在线视频一区 | av一区二区在线观看中文字幕 | 日韩激情免费视频 | 久久国产精品99久久久久 | 伊人色播 | 久久在线精品视频 | 亚洲一区二区三区四区在线视频 | 精品一区免费 | 精品国产人成亚洲区 | 国产精品久久久久久久久婷婷 | 国产一级二级在线播放 | 综合色伊人 | 精品黄色在线观看 | 免费国产一区二区视频 | 日日精品| 又黄又爽的视频在线观看网站 | 亚洲精品国产精品乱码不99热 | 66av99精品福利视频在线 | 久久影院中文字幕 | 日韩欧美不卡 | 日韩网站免费观看 | 国产专区在线视频 | 精品在线播放视频 | 91香蕉视频720p | 精品不卡av | 免费高清在线观看成人 | 国产精品久久久久永久免费看 | 亚州精品成人 | 日韩精品在线播放 | 婷婷伊人综合 | 久久在线免费观看视频 | japanesexxxhd奶水 91在线精品一区二区 | 成年人视频在线免费观看 | 亚洲精品影视在线观看 | 欧美午夜精品久久久久久浪潮 | 亚洲激情 在线 | 欧美日韩国产伦理 | 亚洲成色777777在线观看影院 | 狠狠色香婷婷久久亚洲精品 | 亚洲精品国产精品国自产在线 | 狠狠色狠狠综合久久 | 国产精品热视频 | 综合久久精品 | 丁香六月久久综合狠狠色 | 97手机电影网 | 日韩精品不卡在线观看 | 久久综合色婷婷 | 五月婷婷综合在线视频 | 热久久视久久精品18亚洲精品 | 中文字幕999| 丁香婷婷综合五月 | 五月婷婷在线视频 | 日韩欧美一区二区三区在线 | 亚洲成人精品久久 | 天天激情天天干 | 日本精品一区二区三区在线播放视频 | 综合激情伊人 | 在线国产专区 | 91精品对白一区国产伦 | 人人爱爱 | 99久热在线精品视频成人一区 | 日韩精品一区二区三区水蜜桃 | 久久不卡国产精品一区二区 | 色姑娘综合网 | 日本少妇久久久 | 国产精品成人久久久 | 日韩午夜在线观看 | 成人av资源站 | 99爱在线观看 | 亚洲成人网在线 | 又粗又长又大又爽又黄少妇毛片 | 五月婷网 | 国产精品 9999| 久久99国产精品自在自在app | 免费视频 三区 | 国产精品一区二区久久精品爱微奶 | 91成人国产| 午夜国产一区二区三区四区 | 天天色婷婷 | 亚洲精品黄网站 | 久久精品人人做人人综合老师 | 免费在线观看av网址 | 成人av一级片 | 狠狠色婷婷丁香六月 | av三级在线播放 | 九九热精品视频在线播放 | 91看片在线看片 | 国产精品久久久久久久久久了 | 夜夜操网 | 日本中文字幕网址 | 国产999视频在线观看 | 亚洲成av人影片在线观看 | 国产色婷婷在线 | 美女视频黄免费的久久 | 天天操操操操操 | 日av免费| 人人爽人人爽人人爽学生一级 | 亚洲免费专区 | 日韩中出在线 | 一区二区三区中文字幕在线观看 | 一区二区三区久久精品 | 天天射天天干天天爽 | 国产视频欧美视频 | 国产999精品久久久久久麻豆 | 欧美一区二区三区不卡 | 麻豆果冻剧传媒在线播放 | 在线精品一区二区 | 久久国产精品第一页 | 亚洲欧美日韩国产一区二区三区 | 亚洲区二区 | 久精品视频在线观看 | 九九热在线视频免费观看 | 中文字幕av在线不卡 | 欧美日在线| 丁香亚洲 | 九九视频免费观看视频精品 | 91精品无人成人www | 在线成人小视频 | 99视频这里只有 | 青草视频网 | 久久久久久久久久亚洲精品 | 久久国内视频 | 国产精品久久久久久久婷婷 | 99视频99| 久久久久久久av | 日韩视频中文字幕 | 国产精品成人自拍 | 久久成人18免费网站 | 2019天天干天天色 | 免费av观看网站 | 成人福利av | 精品国产精品久久 | 欧美激情视频三区 | 国产精品av免费 | 一区二区三区福利 | 精品夜夜嗨av一区二区三区 | 成av在线| 欧美日韩国产一区二区在线观看 | 精品 激情 | 免费看色的网站 | 久久久久久久电影 | 日日干av | 成年人免费观看国产 | 精品国产一区二区三区男人吃奶 | 国产色婷婷精品综合在线手机播放 | 东方av在线免费观看 | 久草在线精品观看 | 中文字幕日韩免费视频 | 99久久精品国产系列 | 在线看日韩 | 91精品国产欧美一区二区成人 | 国产午夜精品一区二区三区欧美 | 日韩欧美一级二级 | 日韩欧美一区二区三区在线观看 | 国产在线精品一区二区不卡了 | 色婷婷国产精品一区在线观看 | 日韩网站中文字幕 | 久久高清精品 | 国产精品综合在线 | a天堂最新版中文在线地址 久久99久久精品国产 | 日韩乱码中文字幕 | 国产123区在线观看 国产精品麻豆91 | 久久久久久久久久久综合 | 久久天天躁夜夜躁狠狠躁2022 | 亚洲性xxxx | 国产五十路毛片 | 午夜精品一区二区三区视频免费看 | 色婷婷成人网 | 97超碰在线久草超碰在线观看 | 亚洲视频在线看 | 日日干天天射 | 午夜精品久久一牛影视 | 国产 在线观看 | 久久久精华网 | 精品不卡视频 | 成人午夜电影在线 | 激情欧美丁香 | 精品99久久| 国内精品久久久久国产 | 国产精品久久久久三级 | 成人av资源网站 | 亚洲做受高潮欧美裸体 | 成人午夜电影免费在线观看 | 亚洲精品在线观看不卡 | 久久99精品久久久久久秒播蜜臀 | 亚洲国产成人久久综合 | 亚洲日本激情 | 天堂av在线网 | 在线播放国产一区二区三区 | 国产亚洲精品久久久久动 | 久久特级毛片 | 成人黄色影片在线 | 91人人澡人人爽人人精品 | 在线亚洲成人 | 欧美一区影院 | 天堂在线一区二区 | 91精品国产99久久久久 | 99亚洲国产 | 久久69精品久久久久久久电影好 | 久久看毛片 | 欧美性视频网站 | 国内精品在线看 | 国产无套精品久久久久久 | 国内少妇自拍视频一区 | 成年人视频在线免费播放 | 午夜精品视频在线 | 91亚洲精品视频 | www.黄色片网站 | 国产精品毛片久久久久久久久久99999999 | 一级α片 | 久久精品网站免费观看 | 97成人在线观看 | 欧美在线观看禁18 | 欧美日韩一二三四区 | 欧美特一级片 | 婷婷中文字幕 | 中文在线免费视频 | 国产精品你懂的在线观看 | 四虎免费av | 久久这里只有精品首页 | 在线91播放 | 国产999精品久久久久久绿帽 | 日本系列中文字幕 | 91久久国产综合精品女同国语 | 一级精品视频在线观看宜春院 | 婷婷久久综合九色综合 | 亚洲开心色 | 在线看黄色的网站 | 国产福利91精品一区二区三区 | 欧美久久久一区二区三区 | 六月丁香综合 | a视频在线 | 免费午夜av | 日韩欧美区 | 免费试看一区 | 日韩免费在线观看网站 | 91社区国产高清 | 久久一及片| 亚洲日韩精品欧美一区二区 | 亚洲精品字幕在线观看 | 日韩资源在线 | 久久综合影视 | 狠狠亚洲 | 久久亚洲国产精品 | 五月天激情综合网 | 久久手机免费视频 | 日韩在线电影一区二区 | a在线观看免费视频 | 狠狠干电影 | 精品999久久久 | 曰本三级在线 | 狠狠干网站 | 99re国产视频 | 亚洲毛片视频 | 六月丁香激情网 | 在线观看视频国产一区 | 国产123av| 综合伊人久久 | 久草在线视频精品 | 日本中文字幕在线看 | 国产亚洲精品久久久久动 | 国产视 | 欧美大片在线看免费观看 | 性色av一区二区 | 国产一级片免费视频 | 午夜精品一区二区三区在线视频 | 在线免费黄色av | 色婷婷www | 欧美日韩在线免费观看视频 | 最新91在线视频 | 成人久久亚洲 | 日韩免费在线视频观看 | 97视频资源 | 久草国产在线观看 | 人交video另类hd | 亚洲电影久久 | 91精品看片| 国产精品久久久久久高潮 | 国产福利一区二区三区视频 | 中文字幕在线不卡国产视频 | 在线国产视频观看 | 日日爽夜夜爽 | 欧美日韩高清免费 | 日本黄色大片儿 | 丁香花在线观看免费完整版视频 | 97超碰人人 | 日本最新一区二区三区 | 99免费在线观看 | 狂野欧美激情性xxxx欧美 | 亚洲人片在线观看 | 国产色视频一区二区三区qq号 | 最近中文字幕完整高清 | 日韩欧美在线不卡 | 欧美 日韩 国产 中文字幕 | 中文成人字幕 | 日韩国产精品久久久久久亚洲 | 成人福利在线 | 91在线公开视频 | 国产又粗又猛又黄 | 国产日韩精品一区二区在线观看播放 | av青草| 久久久久久久久网站 | 看片黄网站 | 91在线精品视频 | 国产免费观看久久 | 天干啦夜天干天干在线线 | 五月婷影院 | 亚洲国产成人精品电影在线观看 | 97超碰人人看 | av综合av | 在线观看国产www | 国产精品嫩草在线 | 久久这里只有精品视频99 | 91九色蝌蚪 | 亚洲国产伊人 | 天天草网站| 久久久首页 | 久久观看免费视频 | 狠狠躁夜夜躁人人爽超碰91 | 91av在线视频免费观看 | 久久免费精品视频 | 9999在线视频 | 国产精品涩涩屋www在线观看 | 97超碰免费 | 天天射一射 | 日韩av成人在线 | av国产在线观看 | 91麻豆精品国产自产在线 | 91完整版| 91成人免费视频 | 天天色天天操天天爽 | 亚洲激情av| 日韩精品视频在线观看网址 | 日本黄色免费观看 | 亚洲精品在线一区二区 | 中文字幕在线乱 | 少妇bbb| 91中文字幕一区 | 久久国产精品精品国产色婷婷 | 综合色狠狠 | www国产亚洲精品久久麻豆 | 亚洲日本一区二区在线 | 久久麻豆视频 | 欧美在线一二区 | 国产精品porn | 视频高清 | 视频在线观看国产 | 久要激情网 | 天天鲁天天干天天射 | 超碰97人人爱| 天堂av在线7 | 国产精品美 | 97电影在线| 8x8x在线观看视频 | 久草视频精品 | 激情电影影院 | 久久久久久久久免费视频 | 天天干天天看 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 欧美美女视频在线观看 | 欧美精品网站 | 久久久久久久久久久高潮一区二区 | 精品999 | 久草视频中文 | 亚洲综合在线五月 | 91麻豆精品 | 国产精品va | 天天碰天天操视频 | 99视频精品全国免费 | 激情在线免费视频 | 九九热免费视频在线观看 | 97超碰在线久草超碰在线观看 | 久久99热精品这里久久精品 | 国产黄色精品在线 | 91丨九色丨丝袜 | 国产精品久久电影网 | 久久视频这里有精品 | 久久久久国产一区二区三区四区 | www国产亚洲精品久久麻豆 | 免费在线观看日韩视频 | 亚洲精品在线观 | 国产精品久久精品 | 中文字幕av在线 | 日韩影视精品 | 国产精品久久久一区二区三区网站 | 国产a级片免费观看 | 日批视频在线观看免费 | 久久久久麻豆v国产 | 高清av免费看 | 久久99精品久久久久久久久久久久 | 免费观看av网站 | 狠狠色狠狠色综合日日小说 | 狠狠色丁香婷婷综合欧美 | 久草在线视频资源 | 欧美少妇的秘密 | 国产精品久久电影观看 | 一级片色播影院 | 国产免费午夜 | 在线观看精品一区 | 黄色软件视频大全免费下载 | 日本大片免费观看在线 | 日韩在线视频观看免费 | 国产精品久久久久永久免费观看 | 国产69久久久欧美一级 | 黄av在线| 国产手机在线观看视频 | 国产午夜三级一二三区 | 中文字幕一区二区三区乱码不卡 | 日韩女同一区二区三区在线观看 | 中文字幕精品三区 | 中文字幕第一页在线视频 | 日韩国产精品毛片 | 人人爽人人射 | 久久久久久久久久久国产精品 | 久久99最新地址 | 国产中文a | av片中文| 麻豆影视在线免费观看 | 午夜私人影院 | 日韩精品免费 | 狠狠操天天操 | 色综合天 | 亚洲精品乱码久久久久久久久久 | 天堂黄色片| 色狠狠综合天天综合综合 | 国产亚洲人 | 天天干天天操天天 | 久久久在线观看 | 国产手机在线观看 | 91久久黄色 | 色综合五月 | 狠狠干 狠狠操 | 久久不卡视频 | 久久综合之合合综合久久 | 丁香六月天婷婷 | 日本三级不卡 | 免费观看av| 永久免费看av | 欧美日韩不卡在线观看 | 天天摸天天舔 | 国产午夜亚洲精品 | 成人91免费视频 | 五月婷婷,六月丁香 | 色噜噜狠狠色综合中国 | 亚洲国产精品成人va在线观看 | 久久精精品视频 | 国产视频 亚洲精品 | 国产露脸91国语对白 | 久久人人爽人人人人片 | 91chinesexxx| 看毛片网站 | 一色av| 婷婷婷国产在线视频 | 天天舔天天射天天操 | 在线亚洲激情 | 中文字幕电影在线 | 五月天狠狠操 | 亚洲黄色免费在线看 | 日韩电影中文字幕在线观看 | 999免费视频 | 91网页版免费观看 | 成人av在线网址 | 国产高清绿奴videos | 在线观看国产91 | 五月天综合网站 | 日韩黄色大片在线观看 | 久久成人国产精品 | 99精品国产免费久久久久久下载 | jizzjizzjizz亚洲 | 亚洲精品乱码白浆高清久久久久久 | 免费看成人a| 天天干人人干 | 97视频在线观看视频免费视频 | 国内亚洲精品 | 日韩高清成人 | 婷婷久久综合网 | 亚洲人成人99网站 | 国产很黄很色的视频 | 亚洲精品在线免费播放 | 97视频免费在线 | 久久99久久99精品免视看婷婷 | 91亚色免费视频 | 亚洲午夜久久久久久久久久久 | 91在线免费观看国产 | 亚洲精品久久久久久国 | 日韩视频图片 | 成人在线视 | 欧美a级片网站 | 国产视频1区2区 | 免费一级黄色 | 日韩高清国产精品 | 久久99这里只有精品 | 久久在线播放 | 欧美日韩午夜爽爽 | 亚洲精品免费观看视频 | 97超碰在线资源 | 欧美日韩一区二区在线观看 | www免费在线观看 | 综合黄色网 | 国产精品一区二区久久 | 99久久婷婷国产一区二区三区 | 九九久| 99久久精品免费一区 | 欧美国产一区在线 | 丁香六月中文字幕 | 亚洲性少妇性猛交wwww乱大交 | 91污在线 | 久久成人资源 | 欧美男同网站 | 天天曰天天射 | 国产精品欧美久久久久久 | 成年人在线免费视频观看 | a v在线视频 | 国产精品欧美久久久久三级 | 99爱在线观看 | 日韩精品一区二区三区第95 | 久久伊人爱| 久久精品国产精品亚洲 | 色婷婷在线视频 | 免费婷婷 | 日本特黄一级 | 精品视频免费看 | 日本黄区免费视频观看 | 视频在线观看国产 | 麻豆小视频在线观看 | 午夜精品视频一区二区三区在线看 | 天天曰夜夜爽 | 成人一级视频在线观看 | 色婷婷伊人 | 国产探花 | 日韩经典一区二区三区 | 精品亚洲视频在线 | 亚洲国产经典视频 | 亚洲精品国产精品乱码在线观看 | 国产综合在线视频 | 久久婷婷国产色一区二区三区 | 伊人影院99| 99热这里是精品 | 精品国产一区二区久久 | 国产在线观看午夜 | 成人黄色在线视频 | 久久久久久毛片精品免费不卡 | 免费下载高清毛片 | 特级大胆西西4444www | 国产成人免费观看久久久 | 婷婷中文字幕综合 | 欧美日韩视频一区二区 | 婷婷国产视频 | 涩涩网站在线观看 | 国产精品久久久久久欧美 | 国产一区二区午夜 | 亚洲一区二区三区miaa149 | 在线观看涩涩 | 天堂av免费在线 | 一级片在线 | 精品在线视频一区二区三区 | 亚洲精品在线免费看 | 国产精品午夜在线观看 | 美女中文字幕 | 国产精品一区二区三区在线免费观看 | 在线中文字幕一区二区 | 久久精品视频免费 | 一区二区三区四区在线 | 高清一区二区三区av | 免费观看的av网站 | 国内视频在线 | 欧美日韩免费一区 | 亚洲国产精品成人av | 国产麻豆精品95视频 | 高清色免费 | 亚洲成成品网站 | 国产精品免费大片视频 | 亚洲国产婷婷 | 在线观看精品一区 | 在线视频精品播放 | 久久久噜噜噜久久久 | 国产精品久久久久一区二区三区共 | 在线亚洲精品 | 久久精品91视频 | 国产视频一区精品 | 婷婷中文字幕在线观看 | 亚洲久草在线 | 中文字幕在线视频免费播放 | 激情视频在线观看网址 | 91成年人视频 | 日韩18p| 免费黄色看片 | 九色在线视频 | www99久久 | 国产精品久久精品国产 | 亚洲电影av在线 | 中文字幕在线观看完整版电影 | 久久久久国产成人免费精品免费 | 免费av网址大全 | 去看片| 欧美91精品久久久久国产性生爱 | 婷香五月| 成人国产精品入口 | 国产精品一区二区电影 | 亚洲五月激情 | 五月婷婷毛片 | 99热精品久久 | 91激情视频在线 | 麻豆传媒视频在线播放 | 伊人国产在线观看 | 久久伊人精品一区二区三区 | 国产精品美女免费看 | 日韩视频在线一区 | 成人在线播放免费观看 | 不卡av在线免费观看 | 视频一区二区精品 | 亚洲精品一区二区三区新线路 | 久草在线电影网 | 成年人免费在线看 | 国产一级片一区二区三区 | 久久都是精品 | 色综合www| 少妇搡bbbb搡bbb搡忠贞 | 亚洲97在线| 欧美最爽乱淫视频播放 | 91精品视频免费观看 | 99在线精品观看 | 亚洲国产日韩在线 | 波多野结衣视频一区 | 久久亚洲影视 | 国产精品18久久久久白浆 | 免费国产一区二区 | 精品国产成人av | 国产精品国产自产拍高清av | 波多野结衣在线播放一区 | 亚洲美女精品视频 | 色综合狠狠干 | 97免费在线视频 | 欧美性色综合 | 午夜三级理论 | 久久国产精品区 | 日韩视频一区二区 | 婷婷丁香导航 | 日韩激情免费视频 | 在线 国产一区 | 中文亚洲欧美日韩 | 免费三级a | 99色婷婷| 国产精品久久久久久久久久东京 | 国产亚洲精品福利 | 欧美精品久久久久久久久久 | av高清网站在线观看 | 天天看天天操 | 日韩精品免费在线视频 | 黄色特级一级片 | 亚洲精选在线 | 久久久久久国产精品美女 | 人人爽人人爽人人爽 | 中文在线www | 亚洲成人精品在线 | 日韩二区三区在线 | 久久不射影院 | 国产成人精品一区一区一区 | 日韩在线观看视频免费 | 在线黄色观看 | 一区二区精品在线观看 | 黄网av在线 | 国产中文字幕视频在线观看 | 97成人精品视频在线播放 | 欧美一性一交一乱 | 国产精品18久久久久久不卡孕妇 | 国产原厂视频在线观看 | 亚洲一级电影 | 91精品久久香蕉国产线看观看 | 黄色tv视频 | 欧美日韩国产亚洲乱码字幕 | 精品美女在线观看 | 天天射天天干天天 | 狠狠操天天操 | 国产精品theporn | 成人三级网址 | 在线电影 一区 | 2021国产视频 | 一区 二区电影免费在线观看 | av在线精品 | 91pony九色丨交换 | 日本精品久久久久 | 国产精品一区二区三区视频免费 | 日韩v在线 | 成人午夜网址 | 日韩久久精品一区二区三区下载 | 美腿丝袜av| 久久99精品久久久久婷婷 | 亚洲情婷婷| 人人草在线视频 | av天天在线观看 | 99色视频 | 久久久亚洲影院 | 97电影手机 | 黄色av网站在线观看免费 | 91视频国产高清 | 日韩高清av | 亚洲成人av一区 | 国产精品成人免费精品自在线观看 | 五月天亚洲精品 | 亚洲天堂网在线视频 | 日韩资源在线观看 | 亚洲一级黄色av | 一二区av | 国产精品久久久久av免费 | 天天拍天天干 | 97碰在线视频 | 国产精品综合av一区二区国产馆 | 成人羞羞视频在线观看免费 | 91视频高清免费 | 国产精品2018 | 欧美 国产 视频 | 91麻豆精品国产午夜天堂 | 国产精品毛片一区二区在线 | 久草网站在线 | av在观看| 97精产国品一二三产区在线 | www.av免费观看 | 久久久精品99 | 国产小视频在线观看 | 又黄又爽又湿又无遮挡的在线视频 | 成人97人人超碰人人99 | 亚洲国产中文在线观看 | 色多多污污在线观看 | 成人av片免费观看app下载 | 日韩一区正在播放 | 久久亚洲综合国产精品99麻豆的功能介绍 | 亚洲国产一区二区精品专区 | 色开心 | 开心婷婷色 | 久久私人影院 | 天天舔天天搞 | 999久久久久久久久6666 | 五月婷婷毛片 | 国产亚洲精品中文字幕 | 色姑娘综合 | 国产一级免费在线 | 狠狠操狠狠 | 国产精品夜夜夜一区二区三区尤 | 国产不卡视频在线播放 | 成年人视频在线免费 | 五月婷婷激情六月 | 91丨九色丨首页 | 色婷婷www | 亚洲欧美国内爽妇网 | 国产很黄很色的视频 | 国产精品久久久久久久久久尿 | 福利视频一区二区 | 久久综合狠狠综合久久激情 | 婷婷六月天丁香 | 在线精品亚洲 | 欧美999 | 亚洲在线精品视频 | 色婷婷欧美 | 国产高清久久久 | 最新中文在线视频 | 国产视频黄| 91麻豆国产福利在线观看 | 91九色最新 | 日韩精品一区二区不卡 | 久99久在线 | 成人资源在线 | 91网页版在线观看 | 美女网色 | 日韩免费一二三区 | 黄色一级大片在线观看 | www.黄色片.com | 欧美激情视频一二三区 | 精品1区二区 | 丁香 婷婷 激情 | 国产综合久久 | 日韩美女高潮 | 成人午夜片av在线看 | 国产亚洲小视频 | 欧美午夜精品久久久久久浪潮 | 99久热在线精品视频观看 | 国产在线毛片 | 在线观看av小说 | 成人黄色在线视频 | 24小时日本在线www免费的 | 成人高清av在线 | 开心激情五月婷婷 | 欧美激情视频三区 | 成人毛片一区 | www.干| 友田真希av| 中文字幕亚洲精品日韩 | 日本电影久久 | 69精品视频在线观看 | 伊人婷婷激情 | 9999免费视频 | 久久久精品免费观看 | 久久激情电影 | 手机av在线网站 | 日韩电影一区二区在线观看 | 麻豆久久精品 | 午夜婷婷在线播放 | 瑞典xxxx性hd极品 | 黄网站免费大全入口 | 久久久精品国产一区二区电影四季 | 欧美性生活久久 | 成人 亚洲 欧美 | 国产区久久 | 久久综合久久久久88 | 国产在线探花 | 精品视频在线看 | 国产精品久久久久四虎 | 美女露久久| 最新色站| 亚洲精品国产第一综合99久久 | 久久精品日韩 | 国产精品久久久久久久久久久免费看 | 中文字幕二区 | 91在线中文 | 国产999精品久久久 免费a网站 | 国产一区二区三区高清播放 | 中文字幕在线观看第一页 | 免费一区在线 | 超碰个人在线 | 免费男女羞羞的视频网站中文字幕 | 激情开心| 69国产精品成人在线播放 | 伊人伊成久久人综合网小说 | 亚洲h在线播放在线观看h | 国产精品久久久久久久午夜 | 亚洲国产网站 | 视频在线国产 | 欧美激情精品久久久久久免费印度 | h视频在线看 | 国产96在线 | 成人av高清在线 | 精品国产免费人成在线观看 | 在线有码中文字幕 | 国产麻豆精品在线观看 | 国产69久久久欧美一级 | 国产传媒一区在线 | 激情电影影院 | 成片人卡1卡2卡3手机免费看 | 国内三级在线 | 搡bbbb搡bbb视频 | 中文字幕精品www乱入免费视频 | 日韩专区 在线 | 成人午夜黄色 | 日韩.com| 综合在线观看色 | 久久人人爽人人人人片 | 丁香婷婷综合五月 | 懂色av一区二区三区蜜臀 | 成人app在线免费观看 | 亚洲国产午夜 | 正在播放 久久 | 99久久99久久免费精品蜜臀 | 日韩精品第1页 | 精品久久一级片 | 狠狠操.com| 国产高清日韩欧美 | 97超碰福利久久精品 | 久久久久久中文字幕 | 黄网站免费大全入口 | 天天干天天草 | 探花视频在线观看免费 | 国产99爱 | 激情五月色播五月 | 五月婷婷六月丁香激情 | 亚洲理论电影网 | 日韩视频免费播放 | 欧美在线99 | 97国产小视频 | www.久久视频 | 精品在线观| 国产成人精品一区二区三区 | 91在线蜜桃臀 | 久久夜av | 韩国一区二区av | 久久久精品欧美一区二区免费 | 国产精品久久久久久久久久ktv | 国产剧情在线一区 | 国产一区二区三区免费视频 | 国产亚洲成人精品 | www.在线观看视频 | 色在线国产 | 欧美一级久久久久 | 久99久在线| 成人a免费看 | 玖玖视频免费在线 | 久久久久欠精品国产毛片国产毛生 | 黄色三级av | 日日干天夜夜 | 欧美精品亚洲二区 | 久久精品国产免费观看 | 久久99精品国产一区二区三区 | 国产黄色片免费观看 | 国产小视频在线免费观看 | 久久草草热国产精品直播 | 精品高清视频 | 丁香婷婷色综合亚洲电影 | 亚洲日本va在线观看 | 国产精品一区二区三区免费看 | 亚洲作爱| 婷婷丁香在线观看 | 色九九视频 | 国产视频 亚洲视频 | 亚洲精品成人在线 | 中文字幕在线观看日本 | 91久久国产自产拍夜夜嗨 | 日韩理论电影在线 | 久久99亚洲精品久久 | 久久国产三级 | 你操综合| 在线视频你懂得 | 中中文字幕av | 91av视频观看 | 98精品国产自产在线观看 | 亚洲一级在线观看 | 美女网站一区 | 国产高清免费av | 久久激情久久 | 97在线资源 | 成人永久视频 | 亚洲黄色成人av | 欧美一级特黄高清视频 | 天天射综合网站 | 天天爽人人爽夜夜爽 | 麻豆mv在线观看 | 欧美午夜久久久 | 久久精品视频在线观看免费 | 国产精品淫 | 国产尤物在线观看 | 欧美久久成人 | 国产婷婷精品av在线 | 国产1区2区3区精品美女 | 国产精品白虎 | 亚洲久草网 | 国色天香在线 | 中文字幕乱码亚洲精品一区 | 国产免费xvideos视频入口 | 国产精品123 |