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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

二叉树的基本操作及哈夫曼编码/译码系统的实现

發布時間:2024/4/17 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二叉树的基本操作及哈夫曼编码/译码系统的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二叉樹的基本操作及哈夫曼編碼/譯碼系統的實現

實驗目的和要求

  • 掌握二叉樹的二叉鏈表存儲表示及遍歷操作實現方法。
  • 實現二叉樹遍歷運算的應用:求二叉樹中葉結點個數、結點總數、二叉樹的高度,交換二叉樹的左右子樹。
  • 掌握二叉樹的應用——哈夫曼編碼的實現。

二叉樹的基本操作

#include <stdio.h> #include <stdlib.h>//二叉樹結點結構體typedef char ElemType; typedef struct btnode {ElemType element;struct btnode *lChild;struct btnode *rChild; }BTNode;//創建新節點 BTNode* NewNode(ElemType x, BTNode *ln, BTNode *rn);//先序構建二叉樹 BTNode* PreCreateBT(BTNode *t);//先序遍歷 void PreOrder(BTNode*t); //中序遍歷 void MidOrder(BTNode*t); //后序遍歷 void BehOrder(BTNode*t);//清空二叉樹 void Clear(BTNode * t);//創建新節點BTNode* NewNode(ElemType x, BTNode *ln, BTNode *rn) {BTNode *p = (BTNode*)malloc(sizeof(BTNode));p->element = x;p->lChild = ln;p->rChild = rn; }//先序構建二叉樹 BTNode* PreCreateBT(BTNode *t) {char ch;ch = getchar();if(ch =='#')t = NULL;else{t = (BTNode *)malloc(sizeof(BTNode));t->element = ch;t->lChild = PreCreateBT(t->lChild);t->rChild = PreCreateBT(t->rChild);}return t; }//先序遍歷 void PreOrder(BTNode*t) {if(!t)return;printf("%c ", t->element);PreOrder(t->lChild);PreOrder(t->rChild); }//中序遍歷 void MidOrder(BTNode*t) {if(!t)return;MidOrder(t->lChild);printf("%c ", t->element);MidOrder(t->rChild); }//后序遍歷 void BehOrder(BTNode*t) {if(!t)return;BehOrder(t->lChild);BehOrder(t->rChild); printf("%c ", t->element); }//清空二叉樹 void Clear(BTNode * t) {if(!t)return;Clear(t->lChild);Clear(t->rChild);free(t); }int main() {BTNode *p;p = PreCreateBT(p);printf("\n先序遍歷為:");PreOrder(p);printf("\n中序遍歷為:");MidOrder(p);printf("\n后序遍歷為:");BehOrder(p);printf("\n");Clear(p);system("pause");return 0; }

采用先序輸入,如果子樹為空樹就用#代替。

小小例子請笑納:

二叉樹的基本操作進階

#include <stdio.h> #include <stdlib.h>//二叉樹結點結構體typedef char ElemType; typedef struct btnode {ElemType element;struct btnode *lChild;struct btnode *rChild; }BTNode;//創建新節點 BTNode* NewNode(ElemType x, BTNode *ln, BTNode *rn);//先序構建二叉樹 BTNode* PreCreateBT(BTNode *t);//先序遍歷 void PreOrder(BTNode*t); //中序遍歷 void MidOrder(BTNode*t); //后序遍歷 void BehOrder(BTNode*t);//清空二叉樹 void Clear(BTNode * t); //求二叉樹的結點個數 int Size(BTNode *t); //求二叉樹的高度 int Height(BTNode *t); //交換二叉樹所有左右子樹 void Swap(BTNode *t);//創建新節點BTNode* NewNode(ElemType x, BTNode *ln, BTNode *rn) {BTNode *p = (BTNode*)malloc(sizeof(BTNode));p->element = x;p->lChild = ln;p->rChild = rn; }//先序構建二叉樹 BTNode* PreCreateBT(BTNode *t) {char ch;ch = getchar();if(ch =='#')t = NULL;else{t = (BTNode *)malloc(sizeof(BTNode));t->element = ch;t->lChild = PreCreateBT(t->lChild);t->rChild = PreCreateBT(t->rChild);}return t; }//先序遍歷 void PreOrder(BTNode*t) {if(!t)return;printf("%c ", t->element);PreOrder(t->lChild);PreOrder(t->rChild); }//中序遍歷 void MidOrder(BTNode*t) {if(!t)return;MidOrder(t->lChild);printf("%c ", t->element);MidOrder(t->rChild); }//后序遍歷 void BehOrder(BTNode*t) {if(!t)return;BehOrder(t->lChild);BehOrder(t->rChild); printf("%c ", t->element); }//清空二叉樹 void Clear(BTNode * t) {if(!t)return;Clear(t->lChild);Clear(t->rChild);free(t); } //求二叉樹的結點個數 int Size(BTNode *t) {if(!t)return 0;return Size(t->lChild) + Size(t->rChild) + 1; } //求葉結點的個數 int LeafSize(BTNode *t) {if(!t)return 0;else if(!(t->lChild) && !(t->rChild))return 1;return LeafSize(t->lChild) + LeafSize(t->rChild);}//求二叉樹的高度 int Height(BTNode *t) {if(!t)return 0;return Height(t->lChild) >= Height(t->rChild) ? Height(t->lChild) +1 : Height(t->rChild) + 1; }//交換二叉樹所有左右子樹 void Swap(BTNode *t) {BTNode *temp;if(!t)return;temp = t->lChild;t->lChild = t->rChild;t->rChild = temp;Swap(t->lChild);Swap(t->rChild); } int main() {BTNode *p;p = PreCreateBT(p);printf("\n先序遍歷為:");PreOrder(p);printf("\n中序遍歷為:");MidOrder(p);printf("\n后序遍歷為:");BehOrder(p);printf("\n二叉樹的結點個數為: %d", Size(p));printf("\n葉結點的個數: %d", LeafSize(p));printf("\n二叉樹的高度為: %d", Height(p));Swap(p);printf("\n交換后先序遍歷為:");PreOrder(p);printf("\n交換后中序遍歷為:");MidOrder(p);printf("\n交換后后序遍歷為:");BehOrder(p);printf("\n");Clear(p);system("pause");return 0; }
  • 小小例子,附帶二叉樹圖

哈夫曼編碼/譯碼系統實現

點擊查看詳解

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h>// 統計字符頻度的臨時結點 typedef struct {unsigned char uch; // 以8bits為單元的無符號字符unsigned long weight; // 每類(以二進制編碼區分)字符出現頻度 } TmpNode;// 哈夫曼樹結點 typedef struct {unsigned char uch; // 以8bits為單元的無符號字符unsigned long weight; // 每類(以二進制編碼區分)字符出現頻度char *code; // 字符對應的哈夫曼編碼(動態分配存儲空間)int parent, lchild, rchild; // 定義雙親和左右孩子 } HufNode, *HufTree;// 選擇最小和次小的兩個結點,建立哈夫曼樹調用 void select(HufNode *huf_tree, unsigned int n, int *s1, int *s2) {// 找最小unsigned int i;unsigned long min = ULONG_MAX;for(i = 0; i < n; ++i) if(huf_tree[i].parent == 0 && huf_tree[i].weight < min){min = huf_tree[i].weight;*s1 = i;}huf_tree[*s1].parent=1; // 標記此結點已被選中// 找次小min=ULONG_MAX;for(i = 0; i < n; ++i) if(huf_tree[i].parent == 0 && huf_tree[i].weight < min){min = huf_tree[i].weight;*s2 = i;} } // 建立哈夫曼樹 void CreateTree(HufNode *huf_tree, unsigned int char_kinds, unsigned int node_num) {unsigned int i;int s1, s2;for(i = char_kinds; i < node_num; ++i) { select(huf_tree, i, &s1, &s2); // 選擇最小的兩個結點huf_tree[s1].parent = huf_tree[s2].parent = i; huf_tree[i].lchild = s1; huf_tree[i].rchild = s2; huf_tree[i].weight = huf_tree[s1].weight + huf_tree[s2].weight; } }// 生成哈夫曼編碼 void HufCode(HufNode *huf_tree, unsigned char_kinds) {unsigned int i;int cur, next, index;char *code_tmp = (char *)malloc(256*sizeof(char)); // 暫存編碼,最多256個葉子,編碼長度不超多255code_tmp[256-1] = '\0'; for(i = 0; i < char_kinds; ++i) {index = 256-1; // 編碼臨時空間索引初始化// 從葉子向根反向遍歷求編碼for(cur = i, next = huf_tree[i].parent; next != 0; cur = next, next = huf_tree[next].parent) if(huf_tree[next].lchild == cur) code_tmp[--index] = '0'; // 左‘0’else code_tmp[--index] = '1'; // 右‘1’huf_tree[i].code = (char *)malloc((256-index)*sizeof(char)); // 為第i個字符編碼動態分配存儲空間 strcpy(huf_tree[i].code, &code_tmp[index]); // 正向保存編碼到樹結點相應域中} free(code_tmp); // 釋放編碼臨時空間 }// 壓縮函數 int compress(char *ifname, char *ofname) {unsigned int i, j;unsigned int char_kinds; // 字符種類unsigned char char_temp; // 暫存8bits字符unsigned long file_len = 0;FILE *infile, *outfile;TmpNode node_temp;unsigned int node_num;HufTree huf_tree;char code_buf[256] = "\0"; // 待存編碼緩沖區unsigned int code_len;/*** 動態分配256個結點,暫存字符頻度,** 統計并拷貝到樹結點后立即釋放*/TmpNode *tmp_nodes =(TmpNode *)malloc(256*sizeof(TmpNode)); // 初始化暫存結點for(i = 0; i < 256; ++i){tmp_nodes[i].weight = 0;tmp_nodes[i].uch = (unsigned char)i; // 數組的256個下標與256種字符對應}// 遍歷文件,獲取字符頻度infile = fopen(ifname, "rb");// 判斷輸入文件是否存在if (infile == NULL)return -1;fread((char *)&char_temp, sizeof(unsigned char), 1, infile); // 讀入一個字符while(!feof(infile)){++tmp_nodes[char_temp].weight; // 統計下標對應字符的權重,利用數組的隨機訪問快速統計字符頻度++file_len;fread((char *)&char_temp, sizeof(unsigned char), 1, infile); // 讀入一個字符}fclose(infile);// 排序,將頻度為零的放最后,剔除for(i = 0; i < 256-1; ++i) for(j = i+1; j < 256; ++j)if(tmp_nodes[i].weight < tmp_nodes[j].weight){node_temp = tmp_nodes[i];tmp_nodes[i] = tmp_nodes[j];tmp_nodes[j] = node_temp;}// 統計實際的字符種類(出現次數不為0)for(i = 0; i < 256; ++i)if(tmp_nodes[i].weight == 0) break;char_kinds = i;if (char_kinds == 1){outfile = fopen(ofname, "wb"); // 打開壓縮后將生成的文件fwrite((char *)&char_kinds, sizeof(unsigned int), 1, outfile); // 寫入字符種類fwrite((char *)&tmp_nodes[0].uch, sizeof(unsigned char), 1, outfile); // 寫入唯一的字符fwrite((char *)&tmp_nodes[0].weight, sizeof(unsigned long), 1, outfile); // 寫入字符頻度,也就是文件長度free(tmp_nodes);fclose(outfile);}else{node_num = 2 * char_kinds - 1; // 根據字符種類數,計算建立哈夫曼樹所需結點數 huf_tree = (HufNode *)malloc(node_num*sizeof(HufNode)); // 動態建立哈夫曼樹所需結點 // 初始化前char_kinds個結點for(i = 0; i < char_kinds; ++i) { // 將暫存結點的字符和頻度拷貝到樹結點huf_tree[i].uch = tmp_nodes[i].uch; huf_tree[i].weight = tmp_nodes[i].weight;huf_tree[i].parent = 0; } free(tmp_nodes); // 釋放字符頻度統計的暫存區// 初始化后node_num-char_kins個結點for(; i < node_num; ++i) huf_tree[i].parent = 0; CreateTree(huf_tree, char_kinds, node_num); // 創建哈夫曼樹HufCode(huf_tree, char_kinds); // 生成哈夫曼編碼// 寫入字符和相應權重,供解壓時重建哈夫曼樹outfile = fopen(ofname, "wb"); // 打開壓縮后將生成的文件fwrite((char *)&char_kinds, sizeof(unsigned int), 1, outfile); // 寫入字符種類for(i = 0; i < char_kinds; ++i){fwrite((char *)&huf_tree[i].uch, sizeof(unsigned char), 1, outfile); // 寫入字符(已排序,讀出后順序不變)fwrite((char *)&huf_tree[i].weight, sizeof(unsigned long), 1, outfile); // 寫入字符對應權重}// 緊接著字符和權重信息后面寫入文件長度和字符編碼fwrite((char *)&file_len, sizeof(unsigned long), 1, outfile); // 寫入文件長度infile = fopen(ifname, "rb"); // 以二進制形式打開待壓縮的文件fread((char *)&char_temp, sizeof(unsigned char), 1, infile); // 每次讀取8bitswhile(!feof(infile)){// 匹配字符對應編碼for(i = 0; i < char_kinds; ++i)if(char_temp == huf_tree[i].uch)strcat(code_buf, huf_tree[i].code);// 以8位(一個字節長度)為處理單元while(strlen(code_buf) >= 8){char_temp = '\0'; // 清空字符暫存空間,改為暫存字符對應編碼for(i = 0; i < 8; ++i){char_temp <<= 1; // 左移一位,為下一個bit騰出位置if(code_buf[i] == '1')char_temp |= 1; // 當編碼為"1",通過或操作符將其添加到字節的最低位}fwrite((char *)&char_temp, sizeof(unsigned char), 1, outfile); // 將字節對應編碼存入文件strcpy(code_buf, code_buf+8); // 編碼緩存去除已處理的前八位}fread((char *)&char_temp, sizeof(unsigned char), 1, infile); // 每次讀取8bits}// 處理最后不足8bits編碼code_len = strlen(code_buf);if(code_len > 0){char_temp = '\0'; for(i = 0; i < code_len; ++i){char_temp <<= 1; if(code_buf[i] == '1')char_temp |= 1;}char_temp <<= 8-code_len; // 將編碼字段從尾部移到字節的高位fwrite((char *)&char_temp, sizeof(unsigned char), 1, outfile); // 存入最后一個字節}// 關閉文件fclose(infile);fclose(outfile);// 釋放內存for(i = 0; i < char_kinds; ++i)free(huf_tree[i].code);free(huf_tree);} }//compress// 解壓函數 int extract(char *ifname, char *ofname) {unsigned int i;unsigned long file_len;unsigned long writen_len = 0; // 控制文件寫入長度FILE *infile, *outfile;unsigned int char_kinds; // 存儲字符種類unsigned int node_num;HufTree huf_tree;unsigned char code_temp; // 暫存8bits編碼unsigned int root; // 保存根節點索引,供匹配編碼使用infile = fopen(ifname, "rb"); // 以二進制方式打開壓縮文件// 判斷輸入文件是否存在if (infile == NULL)return -1;// 讀取壓縮文件前端的字符及對應編碼,用于重建哈夫曼樹fread((char *)&char_kinds, sizeof(unsigned int), 1, infile); // 讀取字符種類數if (char_kinds == 1){fread((char *)&code_temp, sizeof(unsigned char), 1, infile); // 讀取唯一的字符fread((char *)&file_len, sizeof(unsigned long), 1, infile); // 讀取文件長度outfile = fopen(ofname, "wb"); // 打開壓縮后將生成的文件while (file_len--)fwrite((char *)&code_temp, sizeof(unsigned char), 1, outfile); fclose(infile);fclose(outfile);}else{node_num = 2 * char_kinds - 1; // 根據字符種類數,計算建立哈夫曼樹所需結點數 huf_tree = (HufNode *)malloc(node_num*sizeof(HufNode)); // 動態分配哈夫曼樹結點空間// 讀取字符及對應權重,存入哈夫曼樹節點for(i = 0; i < char_kinds; ++i) {fread((char *)&huf_tree[i].uch, sizeof(unsigned char), 1, infile); // 讀入字符fread((char *)&huf_tree[i].weight, sizeof(unsigned long), 1, infile); // 讀入字符對應權重huf_tree[i].parent = 0;}// 初始化后node_num-char_kins個結點的parentfor(; i < node_num; ++i) huf_tree[i].parent = 0;CreateTree(huf_tree, char_kinds, node_num); // 重建哈夫曼樹(與壓縮時的一致)// 讀完字符和權重信息,緊接著讀取文件長度和編碼,進行解碼fread((char *)&file_len, sizeof(unsigned long), 1, infile); // 讀入文件長度outfile = fopen(ofname, "wb"); // 打開壓縮后將生成的文件root = node_num-1;while(1){fread((char *)&code_temp, sizeof(unsigned char), 1, infile); // 讀取一個字符長度的編碼// 處理讀取的一個字符長度的編碼(通常為8位)for(i = 0; i < 8; ++i){// 由根向下直至葉節點正向匹配編碼對應字符if(code_temp & 128)root = huf_tree[root].rchild;elseroot = huf_tree[root].lchild;if(root < char_kinds){fwrite((char *)&huf_tree[root].uch, sizeof(unsigned char), 1, outfile);++writen_len;if (writen_len == file_len) break; // 控制文件長度,跳出內層循環root = node_num-1; // 復位為根索引,匹配下一個字符}code_temp <<= 1; // 將編碼緩存的下一位移到最高位,供匹配}if (writen_len == file_len) break; // 控制文件長度,跳出外層循環}// 關閉文件fclose(infile);fclose(outfile);// 釋放內存free(huf_tree);} }//extract()int main() {while(1){int opt, flag = 0; // 每次進入循環都要初始化flag為0char ifname[256], ofname[256]; // 保存輸入輸出文件名// 輸入所選擇操作類型的數字代號:1:壓縮,2:解壓,3:退出printf("Please input the number of operations:\n 1: compress\n 2: extract\n 3: quit\n");scanf("%d", &opt);if (opt == 3)break;else{printf("Please input the infile name: ");fflush(stdin); // 清空標準輸入流,防止干擾gets函數讀取文件名gets(ifname);printf("Please input the outfile name: ");fflush(stdin);gets(ofname);}switch(opt){case 1: printf("Compressing……\n");flag = compress(ifname, ofname); // 壓縮,返回值用于判斷是否文件名不存在break; case 2: printf("Extracting……\n");flag = extract(ifname, ofname); // 解壓,返回值用于判斷是否文件名不存在break; }if (flag == -1)printf("Sorry, infile \"%s\" doesn't exist!\n", ifname); // 如果標志為‘-1’則輸入文件不存在elseprintf("Operation is done!\n"); // 操作完成}return 0; }

總結

以上是生活随笔為你收集整理的二叉树的基本操作及哈夫曼编码/译码系统的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

成人免费在线视频观看 | 日韩av高清在线观看 | 免费一级片视频 | 日韩三级视频在线看 | 日韩特级毛片 | 午夜久久久久久久久久久 | 国产精品一二 | 日韩色av色资源 | 亚洲精品国产视频 | 天堂资源在线观看视频 | 超碰在线91 | 国产精品一区专区欧美日韩 | 免费看网站在线 | 亚洲小视频在线观看 | 免费av试看 | 91爱爱电影 | 免费看污片 | 久久精品综合视频 | 97视频资源 | 欧美日韩另类在线 | 久久中文欧美 | 日本系列中文字幕 | 九色精品在线 | 成人小视频在线观看免费 | 婷婷六月天在线 | 精品国产精品久久一区免费式 | 日韩精品电影在线播放 | 日韩精品一区二区三区免费观看视频 | 91片在线观看| 久久九精品 | 亚洲成a人片在线www | 91热视频 | 麻豆系列在线观看 | 九九亚洲视频 | 99热九九这里只有精品10 | 国产精品96久久久久久吹潮 | 国产精品va| 中文字幕黄色网址 | 久久99精品波多结衣一区 | 好看的国产精品视频 | 色九九影院 | 久久精品综合 | 91av在线国产 | 欧美日韩伦理在线 | 国产精品久久久久av福利动漫 | 国产99久久久国产 | wwwwwww黄 | 欧美午夜a | 久久国产露脸精品国产 | 亚洲h视频在线 | 91av视频在线观看免费 | 九九精品久久久 | 久久久久婷 | 欧美va天堂va视频va在线 | 黄色毛片在线看 | 免费观看十分钟 | 亚洲视频 在线观看 | 91中文在线观看 | 成人h电影| 国产一级二级视频 | 日韩在线中文字幕视频 | 亚洲欧洲成人 | 国产天天综合 | 久久小视频 | 久久男人影院 | 久草在线视频在线观看 | 亚洲网站在线 | 亚洲97在线 | 五月婷婷狠狠 | 精品1区2区 | 国产性xxxx | 免费欧美 | 草在线| 天天色天天操天天爽 | 国产美女黄网站免费 | 久久人人爽视频 | 国产亚洲精品久久久久久久久久 | 97国产超碰在线 | 超碰人人超| 欧美国产一区在线 | 久久精品牌麻豆国产大山 | 在线观看香蕉视频 | 亚州视频在线 | 国产一区视频免费在线观看 | 免费a网| 国产精品久久久久久久久久白浆 | 久久综合欧美精品亚洲一区 | 中文字幕超清在线免费 | 综合色久 | 国产剧情一区二区 | 激情xxxx| 国产99免费| 亚洲v欧美v国产v在线观看 | 国产在线视频一区 | 九九九热精品免费视频观看网站 | 久操操 | 日韩免费视频在线观看 | 91禁在线看| 亚洲精品看片 | 欧美日韩免费视频 | 在线观看视频免费大全 | 在线观看亚洲国产 | 日韩av电影免费观看 | 日韩免费三区 | 在线播放国产一区二区三区 | 亚洲闷骚少妇在线观看网站 | 亚洲狠狠操| 97国产精品久久 | 人人模人人爽 | 国产亚洲成人网 | 狠狠色丁香 | 四虎影视4hu4虎成人 | 在线看成人av | 黄色大片视频网站 | 精品国自产在线观看 | 久久久久久免费毛片精品 | 欧美极品xxxx | 国产精品va在线播放 | 久久精品5| av免费观看网站 | 字幕网在线观看 | 天海翼一区二区三区免费 | 高清不卡免费视频 | 国产精品久久伊人 | 激情文学丁香 | 黄色亚洲片 | 久草在线视频网站 | 久久久综合精品 | 黄色毛片在线看 | 欧美精品一区二区三区一线天视频 | 美女久久久久 | 国产精品久久久久影院 | 美女视频久久黄 | 成年人电影免费看 | 九九热免费在线视频 | 在线国产高清 | 久久不见久久见免费影院 | 91色视频 | 97精品国产91久久久久久久 | 欧美精品乱码久久久久 | 国产精品无 | 日本精品视频在线观看 | 81精品国产乱码久久久久久 | av在线收看 | 国产精品久久久久久久av电影 | 激情婷婷综合 | 91香蕉国产| a级国产乱理伦片在线播放 久久久久国产精品一区 | 日本女人的性生活视频 | 国产午夜精品一区二区三区嫩草 | 国产最新在线视频 | 91色视频 | 成人亚洲综合 | av黄色亚洲 | 四虎影视8848aamm | 欧美日韩免费观看一区二区三区 | 国产黄色片免费 | 91欧美日韩国产 | 精品国产一区二区三区男人吃奶 | 欧美精品久久久久久久免费 | 99免费看片 | 9幺看片| 三级动态视频在线观看 | 日日操日日插 | 99精品国产一区二区三区不卡 | 人人澡澡人人 | 久色小说 | 久久久久久久久久国产精品 | 一色屋精品视频在线观看 | 国产精品99久久99久久久二8 | 午夜国产在线观看 | 欧美国产日韩一区二区 | 在线观看黄色的网站 | 久久久久久片 | 国产成人久久精品一区二区三区 | 99久久国产免费,99久久国产免费大片 | 天堂av在线中文在线 | 欧美另类高清 videos | www.亚洲精品视频 | av女优中文字幕在线观看 | 97国产精品一区二区 | 欧美一级久久久 | 午夜精品三区 | 不卡av在线免费观看 | 亚洲国产精品成人综合 | 免费在线黄 | 国产成人精品女人久久久 | 色综合久久88色综合天天免费 | 国产免费观看久久 | 99久久精品免费视频 | 亚洲视频aaa| 日韩av线观看 | 亚洲精品视频在线观看免费视频 | 精壮的侍卫呻吟h | 欧美一区二区视频97 | 99精品视频中文字幕 | 97精品国产aⅴ | 激情导航 | 久久精品国产精品亚洲 | 日本特黄一级 | 国产免费又粗又猛又爽 | 日日干干 | 精品爱爱| 91九色在线| 国产综合激情 | 天天操天天玩 | 91香蕉国产 | 操操爽| 一本一本久久a久久精品牛牛影视 | 日韩激情视频在线观看 | 99国产精品久久久久老师 | 色妞色视频一区二区三区四区 | 亚洲网站在线 | 手机在线中文字幕 | 欧美久久久久久 | 国产天天综合 | 91天天操 | 国产精品久久久久av福利动漫 | 在线激情小视频 | 日韩欧美视频免费在线观看 | 高清视频一区 | 美女视频黄免费的 | a级国产乱理论片在线观看 伊人宗合网 | 国产成人免费在线观看 | 久久久精品国产一区二区电影四季 | 久草在线免费资源 | 久久久久国产精品午夜一区 | av黄网站 | 99免费精品 | 久久综合给合久久狠狠色 | 视频国产精品 | 欧美精品一区在线 | 亚洲91精品 | 国内精品久久久久久久久久久 | 91麻豆精品国产91久久久使用方法 | 国产色爽| 国产中文字幕网 | 亚洲精品www久久久 www国产精品com | 日韩v在线91成人自拍 | 97精品国产97久久久久久粉红 | 天天草天天 | 亚洲视频免费在线观看 | 日韩伦理片hd | 高清av影院 | 亚洲黄色免费在线看 | 国产精品久久99综合免费观看尤物 | 亚洲劲爆av| 婷婷亚洲综合 | 在线看中文字幕 | 波多野结衣一区 | 精品 激情 | 亚洲综合欧美日韩狠狠色 | 欧美一级在线观看视频 | 免费www视频| 在线观看va| 黄色成品视频 | 精品在线一区二区三区 | 国产精品mm | 999久久久久| 久草在线在线精品观看 | 日韩一区二区三区不卡 | 日韩欧美视频一区二区 | 国产午夜小视频 | 国产一区在线播放 | 国产黄色播放 | 日日干天夜夜 | 不卡日韩av | 日本精品视频一区二区 | 成人免费色 | 亚洲精品乱码久久久久久9色 | 日韩在线视频一区二区三区 | 国产精品网址在线观看 | 成人av资源网 | 天天爽夜夜爽精品视频婷婷 | 国产日韩中文字幕 | 亚洲综合在线发布 | 亚洲国产网址 | 国产专区精品 | 美女网站在线看 | 在线观看911视频 | 菠萝菠萝在线精品视频 | 日韩极品在线 | 国产拍揄自揄精品视频麻豆 | 国产又粗又硬又爽视频 | 色老板在线视频 | 草久久久久| 亚洲天堂网在线视频 | 国产日韩精品欧美 | 在线观看国产www | 一区二区三区四区五区在线 | 成人一级 | 久久激情视频免费观看 | 久久久久久国产精品免费 | 91视频久久久久久 | 九九视频免费在线观看 | 亚洲黄色小说网 | 成人免费视频a | 久草在线综合 | 婷婷久久网站 | 国产黄色成人av | 91成人在线视频观看 | 91精品欧美一区二区三区 | 一本一本久久aa综合精品 | 日韩精品三区四区 | 91精品视屏 | 成人在线播放网站 | 国产精品激情偷乱一区二区∴ | 亚洲乱亚洲乱亚洲 | 精品视频国产一区 | 五月天综合网站 | 中文字幕av一区二区三区四区 | 久久手机看片 | 国产成人av一区二区三区在线观看 | 国产成人三级在线观看 | www.婷婷色 | 人人爽人人爽人人爽学生一级 | 日韩精品中文字幕一区二区 | 狠狠久久 | 亚洲国产精品成人va在线观看 | 天天摸天天操天天舔 | 狠狠色丁香婷综合久久 | 91成品视频| 99re中文字幕 | 怡春院av| 蜜臀久久99静品久久久久久 | 外国av网 | 亚洲电影成人 | 日日干美女 | 久久综合九色欧美综合狠狠 | 黄色免费视频在线观看 | av中文字幕在线免费观看 | 高潮毛片无遮挡高清免费 | 日韩在线观看一区 | 国产一级二级三级视频 | www.在线观看av | 中文在线字幕免费观 | 国产一卡久久电影永久 | 色网影音先锋 | 国产精品视频不卡 | 成片免费观看视频 | 探花视频在线观看+在线播放 | 六月激情 | 日本成人中文字幕在线观看 | 亚洲精品资源在线 | 一级成人免费 | 伊人成人精品 | 香蕉视频国产在线观看 | 中文字幕一区二区在线观看 | 中文字幕av网站 | 欧美日韩不卡一区二区 | 中文在线中文资源 | 高清av免费看 | 黄色特级片 | 97精品欧美91久久久久久 | 日韩一区二区三区高清免费看看 | 17videosex性欧美 | 天天操 夜夜操 | 九九久久国产 | 成人在线视频一区 | 成人毛片一区二区三区 | 黄p网站在线观看 | 亚洲精品午夜国产va久久成人 | 亚洲欧美日韩中文在线 | 久久激情小说 | 国产综合视频在线观看 | 久久久久人人 | 99色 | 成人91在线 | 日韩av三区 | 亚洲干视频在线观看 | 亚洲午夜精品一区 | 亚洲欧美乱综合图片区小说区 | 91日韩精品视频 | 色综合天天色综合 | 欧美日韩色婷婷 | 国产无吗一区二区三区在线欢 | 欧美一级免费高清 | 日韩欧美区 | 久久精品香蕉 | japanesexxxhd奶水| 亚洲国产三级在线观看 | 麻豆视频在线 | 99视频精品 | 99精品视频一区 | 亚洲高清视频在线播放 | 免费av网站在线 | avove黑丝| 亚洲九九九在线观看 | 91精品一区国产高清在线gif | 日韩精品久久久久久中文字幕8 | 一级特黄aaa大片在线观看 | 久久久久亚洲最大xxxx | 伊人在线视频 | 免费韩国av| 狠狠躁夜夜躁人人爽视频 | 国产91九色蝌蚪 | 免费在线看成人av | 久久久久激情 | 在线观看亚洲国产 | 黄色软件在线观看免费 | 99r在线精品 | 久久久久久久久免费视频 | 欧美精品二 | 国产九色视频在线观看 | 开心丁香婷婷深爱五月 | 欧美精品你懂的 | 久久不射电影院 | 二区三区中文字幕 | 五月婷婷综合激情 | 欧美成人视 | 亚洲成人动漫在线观看 | 最近中文字幕高清字幕免费mv | 狠狠色婷婷丁香六月 | 亚洲成人黄色网址 | 日韩精品你懂的 | 天天操天天摸天天射 | 日韩天天综合 | 免费观看www小视频的软件 | 午夜av日韩 | 99视频免费 | www视频在线观看 | 天天视频亚洲 | av黄网站 | 成人免费在线观看av | 男女靠逼app | 日本三级人妇 | 99久久日韩精品免费热麻豆美女 | 免费观看9x视频网站在线观看 | www免费| 国产高清不卡一区二区三区 | 欧美日韩国产在线精品 | 日韩精品在线免费播放 | 国产一区二区在线播放视频 | 日韩 国产 | 在线亚洲人成电影网站色www | 日韩免费电影一区二区三区 | 亚洲欧洲av在线 | 亚洲精品自在在线观看 | 国产在线黄色 | 91激情在线视频 | 国产精品久久久久久久久久三级 | 成年人视频免费在线播放 | 麻豆成人在线观看 | 成人片在线播放 | 久久久久久久久久久电影 | 欧美日韩国产一二 | 在线不卡视频 | 在线观看色网 | 国产无遮挡又黄又爽在线观看 | 国产精品美女999 | 一区二区三区在线免费观看视频 | 中文字幕亚洲不卡 | 在线播放视频一区 | 国产精品久久久99 | 在线综合色 | 日本乱视频 | 精品色999| 国产大陆亚洲精品国产 | 麻豆av电影 | 黄色免费网 | 91豆花在线 | 国产婷婷 | 久久9999久久免费精品国产 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 亚洲精品在线视频观看 | 亚洲国产精彩中文乱码av | 久久久久久久久久久久国产精品 | 国产黄色成人 | 在线观看视频国产 | 国产一级免费电影 | 99tvdz@gmail.com| 久久只有精品 | 成人久久久久 | av短片在线观看 | 激情在线免费视频 | 成人黄在线 | 亚洲 综合 专区 | 欧美性久久久久久 | 色狠狠婷婷 | 在线观看色视频 | 亚洲成人精品在线 | 精品国产伦一区二区三区免费 | 天天操操 | 亚洲午夜小视频 | 日韩a在线看 | 日韩免费观看视频 | 日韩av一区二区在线播放 | 久久久久久久久久久久久国产精品 | 黄色片软件网站 | 欧美九九九 | 91精品国产高清 | 国产日韩在线看 | 少妇bbbb搡bbbb搡bbbb | 中文字幕在线观看第三页 | 国产裸体永久免费视频网站 | 国产精品第一视频 | 麻豆免费视频 | 韩国中文三级 | 色久天 | 黄色av成人在线观看 | 亚洲国产影院av久久久久 | 成年人在线观看免费视频 | 日韩在线电影一区 | 欧美精品久久久久久久 | 日韩av免费一区 | 中文字幕精品视频 | 精品在线观看一区二区三区 | 欧美国产日韩久久 | 日本成人黄色片 | 国产老熟| 国色天香av | 女人18毛片a级毛片一区二区 | 超碰在线国产 | 女人高潮一级片 | 久草视频免费看 | 激情婷婷在线 | 又大又硬又黄又爽视频在线观看 | av线上看 | 五月天六月婷婷 | 欧美在线视频一区二区三区 | 日韩黄色中文字幕 | 九九视频在线观看视频6 | 91.精品高清在线观看 | 香蕉久久久久久av成人 | 免费亚洲黄色 | 精品欧美日韩 | 午夜色大片在线观看 | 五月婷婷激情六月 | 91欧美日韩国产 | 国产成人777777 | 欧美一级性生活片 | 岛国大片免费视频 | 日韩网站在线播放 | 一区二区视频欧美 | 天天操天天操天天操天天 | 久久66热这里只有精品 | 国产亚洲精品久久久久秋 | 免费黄在线观看 | 尤物一区二区三区 | 国产中文字幕国产 | 亚洲精品在线观看免费 | 蜜臀av性久久久久av蜜臀三区 | 精品国产视频一区 | 国产一级片久久 | 色欧美成人精品a∨在线观看 | 蜜桃传媒一区二区 | 伊人五月 | 麻豆视频免费在线观看 | 婷婷福利影院 | 久久久五月婷婷 | 欧美成人xxxxxxxx | 国产xxxx性hd极品 | 日本中文一级片 | 亚洲精品中文在线观看 | 久久视频免费观看 | 成年人免费在线观看网站 | 久久久久久久电影 | 深爱五月激情网 | 美女av免费看 | 国产福利资源 | 国产精品 久久 | 久久精品国产成人精品 | 少妇性bbb搡bbb爽爽爽欧美 | 免费成人在线电影 | av久久在线 | 99久久影视 | 香蕉视频网址 | 色婷婷综合视频在线观看 | 免费观看国产精品 | 五月天激情婷婷 | 色成人亚洲 | 8x成人免费视频 | 国产成人福利 | 色婷婷色 | 日韩在线短视频 | 日韩中文幕 | 黄色影院在线观看 | 日本黄色免费在线观看 | 91麻豆国产福利在线观看 | 制服丝袜亚洲 | 九九99| 亚洲视频免费在线看 | 久久精品日韩 | 激情综合网色播五月 | 精品一二三四在线 | 鲁一鲁影院 | 亚洲精品乱码久久久久久久久久 | 国产精品一区二区三区免费视频 | 精品自拍sae8—视频 | 国产黄免费在线观看 | 国产高清综合 | 国产一级特黄电影 | 91久久精品一区二区二区 | 国产精品久久电影网 | 久久久久电影 | 亚洲成人黄色在线观看 | 综合久久久久久久 | 超碰97人人在线 | 91欧美日韩国产 | 亚洲第一中文网 | 91亚洲精品在线观看 | 色99视频| 六月色 | 91视频最新网址 | 国产精品 视频 | 亚洲精品一区二区网址 | 久久经典国产 | 成片免费观看视频999 | 一区二区三区高清不卡 | 欧美日韩在线免费观看视频 | av观看在线观看 | 中文永久字幕 | 中文字幕一区av | 欧美日韩久久 | 久久久精品免费看 | 99精品免费在线观看 | 91久久偷偷做嫩草影院 | 欧美日韩在线电影 | 亚洲专区 国产精品 | 天天爽夜夜爽精品视频婷婷 | 黄色小视频在线观看免费 | 久久99网站 | 欧美日韩一区三区 | 久久成人精品电影 | 91精品久久久久久久久久入口 | 伊人导航 | 九九久久影视 | 国产免费观看高清完整版 | 超碰国产在线播放 | 国产精品久久久毛片 | 综合av在线 | 久久久美女 | 亚洲精品国产电影 | 超黄视频网站 | 国产麻豆精品久久一二三 | 国产精品久久久久久久久岛 | 91毛片视频 | 免费在线一区二区三区 | 久久久久久久99精品免费观看 | 十八岁免进欧美 | 久久精品91视频 | 色国产在线 | 一级特黄aaa大片在线观看 | 欧美日韩一区二区久久 | 国产精品久久久久999 | 奇米影音四色 | 亚洲乱亚洲乱亚洲 | 久久艹在线 | 久久久久精 | 精品一二三四五区 | 91麻豆免费视频 | 亚洲五月 | 黄污在线看 | 日韩在线观看精品 | 久久久久久免费毛片精品 | 日本黄色a级大片 | 日韩在线观看不卡 | 2019中文最近的2019中文在线 | 日本99热| 日韩在线观看你懂得 | 久久福利剧场 | 国产精品久久久 | 欧美在线aaa| 久久综合九色综合97婷婷女人 | 国产婷婷视频在线 | 日批视频在线观看免费 | 国产一线天在线观看 | 天天操天天操天天操天天 | 欧美一级免费 | 国产小视频在线看 | 青青河边草免费观看 | www.狠狠色.com | 在线观看视频精品 | 日韩精品免费一线在线观看 | 狠狠操夜夜操 | 国产精品美女www爽爽爽视频 | av一区二区三区在线观看 | 激情久久小说 | 婷婷深爱网 | 91女子私密保健养生少妇 | 91视频91蝌蚪| 久久久www成人免费精品张筱雨 | 日韩精品欧美视频 | 99热最新地址 | 久久精品综合视频 | 中文字幕在线观看播放 | 成人中文字幕在线 | 色全色在线资源网 | 色午夜影院 | 久草在线高清 | 国产日韩欧美在线免费观看 | 99久久爱 | 婷婷伊人五月 | 91精品免费 | 久久久久久久久电影 | 欧美先锋影音 | 美女网站在线 | 久久综合亚洲鲁鲁五月久久 | 国产剧情一区二区在线观看 | 色偷偷88888欧美精品久久久 | 国产精品久久精品国产 | 国产午夜精品在线 | 黄色网www | 免费在线观看亚洲视频 | 国产精品高清一区二区三区 | 免费在线激情视频 | 探花视频在线观看+在线播放 | 免费av在线| 91亚洲狠狠婷婷综合久久久 | 五月婷婷综合网 | 久久综合中文色婷婷 | 国产欧美三级 | 欧美色伊人| 精精国产xxxx视频在线播放 | 日韩精品免费一区二区在线观看 | www.色午夜,com| 亚洲视频综合在线 | 狠狠狠狠狠狠狠干 | 亚洲1级片 | 探花视频在线版播放免费观看 | 久久久久久综合 | 久久99深爱久久99精品 | 亚洲婷婷伊人 | 日韩综合一区二区三区 | 成人免费在线观看入口 | 国产资源站 | 91精品国产高清 | 国产不卡免费 | 色人久久 | 久久综合久久综合久久 | 中文字幕在线高清 | 久久精品网址 | 中文字幕在线观看免费观看 | 91精品国产综合久久久久久久 | 精品亚洲视频在线 | 亚洲国产精品va在线看黑人 | 免费观看xxxx9999片 | 激情五月综合网 | 国产一级免费电影 | 久久新 | 96av在线视频| 四虎影视成人精品国库在线观看 | 91视频网址入口 | 66av99精品福利视频在线 | 日韩免费福利 | 亚洲视频专区在线 | 97免费在线视频 | 国产精品久久久久久久久久久不卡 | 三上悠亚一区二区在线观看 | 亚洲成人资源在线观看 | 波多在线视频 | 天天草天天操 | 黄色性av | 美女一级毛片视频 | 激情中文字幕 | 成人a视频 | 日韩综合一区二区三区 | 国产99在线播放 | 免费观看www7722午夜电影 | av在线不卡观看 | 五月婷婷丁香 | 中文字幕在线观看的网站 | 国精产品999国精产 久久久久 | 日韩精品国产一区 | 人人爽人人干 | 91丨九色丨国产在线 | 一级电影免费在线观看 | 久久综合99| 在线小视频你懂的 | 伊人婷婷色 | 久久久久女人精品毛片九一 | 国产精品免费视频观看 | 欧美成人精品欧美一级乱 | 不卡的av片 | 国产高清在线一区 | 国产精品精品久久久久久 | 91精品1区| 久久精品久久99精品久久 | 美女视频黄频大全免费 | 手机在线日韩视频 | 久久超碰99 | 色噜噜噜 | 免费黄在线观看 | 欧美一级视频免费看 | 成人av免费在线 | 久久免费精品一区二区三区 | 日韩视频免费观看高清 | 中文字幕在线观看你懂的 | 黄色一区三区 | 亚洲国产97在线精品一区 | 五月婷婷丁香在线观看 | 久久中文视频 | 天天爽夜夜爽人人爽一区二区 | 精品国产一区二区三区久久久久久 | 国产美女精品视频 | 成年人在线免费视频观看 | 天天草视频 | 久久不卡国产精品一区二区 | 久久久久久久久影视 | 欧洲不卡av | 国产成人av电影在线观看 | www色网站 | 精品乱码一区二区三四区 | 最新黄色av网址 | 精品1区2区 | 免费在线观看国产精品 | 色av婷婷 | www.888.av| 91av网址| 国产精品久久久久久久久久了 | 久久久免费精品国产一区二区 | 欧美成人一二区 | 99久久99久久免费精品蜜臀 | 丁香婷婷激情五月 | 久久综合九色综合网站 | 久草综合在线观看 | 婷婷精品进入 | 国产精品久久久久aaaa九色 | 激情久久网 | 五月婷婷激情网 | 永久免费av在线播放 | 成人在线视频观看 | 国产涩图| 一区二区三区四区五区在线 | 久久这里只有精品视频99 | 精品国产一区二区三区久久久久久 | 亚洲成人av免费 | 色网站免费在线观看 | 国产主播99| 麻豆成人在线观看 | 久久电影日韩 | 91精品婷婷国产综合久久蝌蚪 | 日韩高清成人在线 | 精品久久精品 | 欧美a级在线播放 | 免费av黄色 | 一区三区视频在线观看 | 精品国产1区| 黄色免费观看视频 | 在线视频观看你懂的 | 成人a视频片观看免费 | 免费在线观看一级片 | 国模视频一区二区三区 | 婷婷色网站 | 亚洲美女免费视频 | 综合网婷婷 | 天天摸天天弄 | 99热这里只有精品免费 | av高清不卡 | 一级成人网 | 国产精品久久精品国产 | 成人免费视频网址 | 黄色a一级视频 | 又黄又爽又无遮挡的视频 | 日本3级在线观看 | 国产特级毛片 | 日韩久久一区 | 久保带人 | 一区二区三区四区精品 | 亚洲 欧洲av| 久久久免费精品视频 | 又色又爽的网站 | 中文字幕亚洲精品日韩 | 国产精品久久久久久久久久久久午 | 97超在线| av免费观看网站 | 天堂网一区二区 | www.少妇| 丁香影院在线 | 久久久久久免费毛片精品 | 日本 在线 视频 中文 有码 | 日韩黄色在线观看 | 午夜男人影院 | 国产精品乱码久久久久久1区2区 | 亚洲经典在线 | 天天干天天玩天天操 | jizz999| 国产精品高清在线 | 天天操天天色天天 | 亚洲精品久久久久999中文字幕 | 91.精品高清在线观看 | 婷婷新五月 | 欧美日韩三级在线观看 | 亚洲视频一区二区三区在线观看 | 青草草在线 | 永久免费观看视频 | 成年人免费观看在线视频 | 日韩在线中文字幕 | 狠狠躁天天躁综合网 | 中文字幕在线免费播放 | 1区2区3区在线观看 三级动图 | 欧美aa在线观看 | 高清av在线免费观看 | 欧美韩国在线 | 午夜精品久久久久99热app | 91av美女| 在线观看的黄色 | 久久久精品网站 | 视频在线在亚洲 | 中文字幕中文字幕在线一区 | 欧美精品二区 | 久久这里只精品 | 男女激情麻豆 | 婷婷色av| 天天综合在线观看 | 人人爽网站| 国产成人免费观看久久久 | 亚洲欧洲精品一区 | 日日操夜夜操狠狠操 | 久久久国产精品麻豆 | 国产亚洲资源 | 国产精品久久久久影视 | 狠狠操狠狠 | 三级黄色网址 | 爱爱av网站 | 波多野结衣在线视频免费观看 | 午夜一级免费电影 | 夜夜嗨av色一区二区不卡 | 久久国产精品99久久久久久丝袜 | 国产黄网站在线观看 | 免费国产在线观看 | 伊人看片 | 欧美另类xxx| 免费视频你懂得 | 天堂在线v | 亚洲国产网站 | 视频在线播放国产 | 亚洲一级片免费观看 | 成人免费观看视频大全 | 国产免费成人av | 中文字幕在线观看一区二区 | 婷婷国产一区二区三区 | 久久视讯 | 最近中文字幕mv免费高清在线 | 久久综合福利 | 婷婷六月色 | 久草视频免费在线观看 | 最新真实国产在线视频 | 国产精品99久久久久久有的能看 | 黄色aa久久 | 亚洲精品资源在线观看 | 欧美性生爱 | 成年人免费在线观看 | 福利视频第一页 | 国产区精品 | 五月婷婷,六月丁香 | 开心激情五月婷婷 | 国内偷拍精品视频 | 欧美黑人巨大xxxxx | 贫乳av女优大全 | 国产精品成人免费精品自在线观看 | 亚洲激情国产精品 | 久久免费观看少妇a级毛片 久久久久成人免费 | 日韩精品最新在线观看 | 日韩电影在线观看一区 | 亚洲国产wwwccc36天堂 | 中文字幕av最新更新 | 97偷拍视频 | 免费av在| 91成人网页版 | 成人一级影视 | 国产日韩精品在线观看 | 超碰最新网址 | 91热爆在线观看 | 国产精品男女视频 | 久草视频在线资源站 | 福利一区二区在线 | 欧美日韩一区二区免费在线观看 | 成人免费在线看片 | 国产在线不卡精品 | av网站在线观看免费 | 亚洲成av人片在线观看无 | 开心激情网五月天 | 91传媒激情理伦片 | 免费高清av在线看 | 99综合影院在线 | 免费黄色小网站 | 亚洲综合导航 | 色综合久久88色综合天天6 | 国产中文字幕视频 | 一级性视频 | 亚洲视频网站在线观看 | 一本一本久久a久久精品综合妖精 | 久久免费视频这里只有精品 | a天堂免费 | 亚洲综合导航 | 视频在线观看99 | caobi视频| 中文字幕人成一区 | 国偷自产中文字幕亚洲手机在线 | 91九色蝌蚪视频网站 | 天天操天天是 | 九九热1 | 国产乱码精品一区二区三区介绍 | 久久久精品欧美一区二区免费 | 黄色av一级片 | 亚洲精选在线观看 | 五月天婷婷在线播放 |