日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著

發(fā)布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

所有章節(jié)答案合集——>傳送門


第 2 章線性表

1.選擇題
( 1)順 序表中 第一個 元 素的存儲 地址 是 100 ,每 個元素的 長度 為 2,則 第 5 個 元 素 的 地 址 是 ( )。 A. 110 B . 108 C. 100 D. 120
答案: B
解釋:順序表中的數(shù)據(jù)連續(xù)存儲,所以第 5 個元素的地址為: 100+2*4=108 。

( 2)在 n 個結(jié)點的順序表中,算法的時間復(fù)雜度是 O(1) 的操作是() 。 A .訪問第 i 個結(jié)點( 1≤ i≤ n)和求第 i 個結(jié)點的直接前驅(qū)( 2≤ i≤ n) B .在第 i 個結(jié)點后插入一個新結(jié)點( 1≤ i≤ n) C.刪除第 i 個結(jié)點( 1≤ i≤ n) D .將 n 個結(jié)點從小到大排序
答案: A
解釋: 在順序表中插入一個結(jié)點的時間復(fù)雜度都是 O(n 2) ,排序的時間復(fù)雜度為 O(n 2 ) 或 O(nlog 2n)。順序表是一種隨機存取結(jié)構(gòu),訪問第 i 個結(jié)點和求第 i 個結(jié)點的直接前驅(qū)都可
以直接通過數(shù)組的下標直接定位,時間復(fù)雜度是 O(1) 。

( 3)向一個有 127 個元素的順序表中插入一個新元素并保持原來順序不變, 平均要移動的元素個數(shù)為() 。 A. 8 B . 63.5 C . 63 D. 7
答案: B
解釋:平均要移動的元素個數(shù)為: n/2 。

( 4)鏈接存儲的存儲結(jié)構(gòu)所占存儲空間() 。
A .分兩部分,一部分存放結(jié)點值,另一部分存放表示結(jié)點間關(guān)系的指針
B .只有一部分,存放結(jié)點值
C.只有一部分,存儲表示結(jié)點間關(guān)系的指針
D .分兩部分,一部分存放結(jié)點值,另一部分存放結(jié)點所占單元數(shù)
答案: A

( 5)線性表若采用鏈式存儲結(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址() 。
A .必須是連續(xù)的 B.部分地址必須是連續(xù)的
C.一定是不連續(xù)的 D.連續(xù)或不連續(xù)都可以
答案: D

( 6)線性表L在()情況下適用于使用鏈式結(jié)構(gòu)實現(xiàn)。
A .需經(jīng)常修改L中的結(jié)點值B.需不斷對L進行刪除插入
C.L中含有大量的結(jié)點D.L中結(jié)點結(jié)構(gòu)復(fù)雜
答案: B
解釋:鏈表最大的優(yōu)點在于插入和刪除時不需要移動數(shù)據(jù),直接修改指針即可。

( 7)單鏈表的存儲密度() 。
A .大于 1 B .等于 1 C.小于 1 D.不能確定
答案: C
解釋:存儲密度是指一個結(jié)點數(shù)據(jù)本身所占的存儲空間和整個結(jié)點所占的存儲空
間之比,假設(shè)單鏈表一個結(jié)點本身所占的空間為 D,指針域所占的空間為 N,則存儲密
度為: D/(D+N) ,一定小于 1。

( 8)將兩個各有 n 個元素的有序表歸并成一個有序表,其最少的比較次數(shù)是() 。
A . n B . 2n-1 C . 2n D . n-1
答案: A
解釋:當?shù)谝粋€有序表中所有的元素都小于(或大于)第二個表中的元素,只需
要用第二個表中的第一個元素依次與第一個表的元素比較,總計比較 n 次。

( 9)在一個長度為 n 的順序表中,在第 i 個元素( 1≤ i≤ n+1 )之前插入一個新元素時
須向后移動()個元素。
A . n-i B . n-i+1 C. n-i-1 D . I
答案: B

(10) 線性表 L=(a 1, a2 , an) ,下列說法正確的是() 。 A .每個元素都有一個直接前驅(qū)和一個直接后繼
B .線性表中至少有一個元素
C.表中諸元素的排列必須是由小到大或由大到小
D .除第一個和最后一個元素外,其余每個元素都有一個且僅有一個直接前驅(qū)和直接
后繼。
答案: D

(11) 創(chuàng)建一個包括 n 個結(jié)點的有序單鏈表的時間復(fù)雜度是() 。 A . O(1) B . O(n) C. O(n 2
) D . O(nlog 2n)
答案: C
解釋:單鏈表創(chuàng)建的時間復(fù)雜度是 O(n) ,而要建立一個有序的單鏈表,則每生成一個新結(jié)點時需要和已有的結(jié)點進行比較,確定合適的插入位置,所以時間復(fù)雜度是O(n2) 。

(12) 以下說法錯誤的是() 。
A .求表長、定位這兩種運算在采用順序存儲結(jié)構(gòu)時實現(xiàn)的效率不比采用鏈式存儲結(jié)
構(gòu)時實現(xiàn)的效率低
B .順序存儲的線性表可以隨機存取
C.由于順序存儲要求連續(xù)的存儲區(qū)域,所以在存儲管理上不夠靈活
D .線性表的鏈式存儲結(jié)構(gòu)優(yōu)于順序存儲結(jié)構(gòu)
答案: D
解釋: 鏈式存儲結(jié)構(gòu)和順序存儲結(jié)構(gòu)各有優(yōu)缺點,有不同的適用場合。

(13) 在單鏈表中,要將 s 所指結(jié)點插入到 p 所指結(jié)點之后,其語句應(yīng)為() 。
A . s->next=p+1;p->next=s;
B . (*p).next=s;(*s).next=(*p).next;
C. s->next=p->next;p->next=s->next;
D . s->next=p->next;p->next=s;
答案: D

(14) 在雙向鏈表存儲結(jié)構(gòu)中,刪除 p 所指的結(jié)點時須修改指針() 。
A . p->next->prior=p->prior;p->prior->next=p->next;
B . p->next=p->next->next;p->next->prior=p;
C. p->prior->next=p;p->prior=p->prior->prior;
D . p->prior=p->next->next;p->next=p->prior->prior;
答案: A

(15) 在雙向循環(huán)鏈表中,在 p 指針所指的結(jié)點后插入 q 所指向的新結(jié)點,其修改指針的
操作是() 。
A . p->next=q; q->prior=p;p->next->prior=q;q->next=q;
B . p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
C. q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
D . q->prior=p;q->next=p->next;p->next=q;p->next->prior=q;
答案: C

2.算法設(shè)計題
( 1)將兩個遞增的有序鏈表合并為一個遞增的有序鏈表。 要求結(jié)果鏈表仍使用原來兩個
鏈表的存儲空間 , 不另外占用其它的存儲空間。表中不允許有重復(fù)的數(shù)據(jù)。
[ 題目分析 ]
合并后的新表使用頭指針 Lc 指向, pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為
相應(yīng)鏈表的第一個結(jié)點,從第一個結(jié)點開始進行比較,當兩個鏈表 La 和 Lb 均為到達表尾結(jié)
點時,依次摘取其中較小者重新鏈接在 Lc 表的最后。如果兩個表中的元素相等,只摘取 La
表中的元素,刪除 Lb 表中的元素,這樣確保合并后表中無重復(fù)的元素。當一個表 到達表尾結(jié)
點,為空時,將非空表的剩余元素直接鏈接在 Lc 表的最后。
[ 算法描述 ]

void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc) {// 合并鏈表 La 和 Lb,合并后的新表使用頭指針 Lc 指向pa=La->next; pb=Lb->next; //pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為相應(yīng)鏈表的第一個結(jié)點Lc=pc=La; // 用 La 的頭結(jié)點作為 Lc 的頭結(jié)點while(pa && pb) {if(pa->data<pb->data){pc->next=pa;pc=pa;pa=pa->next;} // 取較小者 La 中的元素,將 pa 鏈接在 pc 的后面, pa 指針后移else if(pa->data>pb->data) {pc->next=pb; pc=pb; pb=pb->next;} // 取較小者 Lb 中的元素,將 pb 鏈接在 pc 的后面, pb 指針后移else // 相等時取 La 中的元素,刪除 Lb 中的元素{pc->next=pa;pc=pa;pa=pa->next; q=pb->next;delete pb ;pb =q; } } pc->next=pa?pa:pb; // 插入剩余段delete Lb; // 釋放 Lb 的頭結(jié)點 }

( 2)將兩個非遞減的有序鏈表合并為一個非遞增的有序鏈表。 要求結(jié)果鏈表仍使用原來
兩個鏈表的存儲空間 , 不另外占用其它的存儲空間。表中允許有重復(fù)的數(shù)據(jù)。

[ 題目分析 ]
合并后的新表使用頭指針 Lc 指向, pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為
相應(yīng)鏈表的第一個結(jié)點,從第一個結(jié)點開始進行比較,當兩個鏈表 La 和 Lb 均為到達表尾結(jié)
點時,依次摘取其中較小者重新鏈接在 Lc 表的表頭結(jié)點之后,如果兩個表中的元素相等,只
摘取 La 表中的元素,保留 Lb 表中的元素。當一個表到達表尾結(jié)點,為空時,將非空表的剩
余元素依次摘取,鏈接在 Lc 表的表頭結(jié)點之后。
[ 算法描述 ]

void MergeList(LinkList& La, LinkList& Lb, LinkList& Lc, ) {// 合并鏈表 La 和 Lb,合并后的新表使用頭指針 Lc 指向pa=La->next; pb=Lb->next; //pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為相應(yīng)鏈表的第一個結(jié)點Lc=pc=La; // 用 La 的頭結(jié)點作為 Lc 的頭結(jié)點Lc->next=NULL; while(pa||pb ) {// 只要存在一個非空表,用 q 指向待摘取的元素if(!pa) {q=pb; pb=pb->next;} //La 表為空,用 q 指向 pb , pb 指針后移else if(!pb) {q=pa; pa=pa->next;} //Lb 表為空,用 q 指向 pa , pa 指針后移else if(pa->data<=pb->data) {q=pa; pa=pa->next;} // 取較小者(包括相等) La 中的元素,用 q 指向 pa, pa 指針后移else {q=pb; pb=pb->next;} // 取較小者 Lb 中的元素,用 q 指向 pb, pb 指針后移q->next = Lc->next; Lc->next = q; // 將 q 指向的結(jié)點插在 Lc 表的表頭結(jié)點之后} delete Lb; // 釋放 Lb 的頭結(jié)點 }

( 3)已知兩個鏈表 A 和 B 分別表示兩個集合,其元素遞增排列。請設(shè)計算法求出 A 與 B
的交集,并存放于 A 鏈表中。
[ 題目分析 ]
只有同時出現(xiàn)在兩集合中的元素才出現(xiàn)在結(jié)果表中 , 合并后的新表使用頭指針 Lc 指向。
pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為相應(yīng)鏈表的第一個結(jié)點, 從第一個結(jié)點開
始進行比較,當兩個鏈表 La 和 Lb 均為到達表尾結(jié)點時,如果兩個表中相等的元素時,摘取
La 表中的元素,刪除 Lb 表中的元素;如果其中一個表中的元素較小時,刪除此表中較小的
元素,此表的工作指針后移。當鏈表 La 和 Lb 有一個到達表尾結(jié)點,為空時,依次刪除另一
個非空表中的所有元素。
[ 算法描述 ]

void Mix(LinkList& La, LinkList& Lb, LinkList& Lc) {pa=La->next;pb=Lb->next; pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為相應(yīng)鏈表的第一個結(jié)點Lc=pc=La; // 用 La 的頭結(jié)點作為 Lc 的頭結(jié)點while(pa&&pb) { if(pa->data==pb- >data) ∥交集并入結(jié)果表中。{ pc->next=pa;pc=pa;pa=pa->next; u=pb;pb=pb->next; delete u;} else if(pa->data<pb->data) {u=pa;pa=pa->next; delete u;} else {u=pb; pb=pb->next; delete u;} } while(pa){u=pa; pa=pa->next; delete u;} ∥ 釋放結(jié)點空間while(pb) {u=pb; pb=pb->next; delete u ;} ∥釋放結(jié)點空間pc- >next=null; ∥置鏈表尾標記。delete Lb; // 釋放 Lb 的頭結(jié)點}

( 4)已知兩個鏈表 A 和 B 分別表示兩個集合,其元素遞增排列。請設(shè)計算法求出兩個集
合 A 和 B 的差集(即僅由在 A 中出現(xiàn)而不在 B 中出現(xiàn)的元素所構(gòu)成的集合) ,并以同樣的形
式存儲,同時返回該集合的元素個數(shù)。
[ 題目分析 ]
求兩個集合 A 和 B 的差集是指在 A 中刪除 A 和 B 中共有的元素,即刪除鏈表中的相應(yīng)結(jié)
點 , 所以要保存待刪除結(jié)點的前驅(qū),使用指針 pre 指向前驅(qū)結(jié)點。 pa 和 pb 分別是鏈表 La 和
Lb 的工作指針 , 初始化為相應(yīng)鏈表的第一個結(jié)點,從第一個結(jié)點開始進行比較,當兩個鏈表
La 和 Lb 均為到達表尾結(jié)點時,如果 La 表中的元素小于 Lb 表中的元素, pre 置為 La 表的工
作指針 pa 刪除 Lb 表中的元素;如果其中一個表中的元素較小時,刪除此表中較小的元素,
此表的工作指針后移。 當鏈表 La 和 Lb 有一個為空時, 依次刪除另一個非空表中的所有元素。
[ 算法描述 ]

void Difference ( LinkList& La, LinkList& Lb,int *n ) { ∥差集的結(jié)果存儲于單鏈表 La 中, *n 是結(jié)果集合中元素個數(shù),調(diào)用時為 0 pa=La->next; pb=Lb->next; ∥ pa 和 pb 分別是鏈表 La 和 Lb 的工作指針 , 初始化為相應(yīng)鏈表的第一個結(jié)點pre=La; ∥ pre 為 La 中 pa 所指結(jié)點的前驅(qū)結(jié)點的指針while ( pa&&pb){if ( pa->data<q->data ) {pre=pa;pa=pa->next;*n++;} ∥ A 鏈表中當前結(jié)點指針后移else if ( pa->data>q->data ) q=q->next; ∥ B 鏈表中當前結(jié)點指針后移else {pre->next=pa->next; ∥處理 A, B 中元素值相同的結(jié)點,應(yīng)刪除u=pa; pa=pa->next;delete u;} ∥刪除結(jié)點} }

( 5)設(shè)計算法將一個帶頭結(jié)點的單鏈表 A 分解為兩個具有相同結(jié)構(gòu)的鏈表 B、C,其中 B
表的結(jié)點為 A 表中值小于零的結(jié)點,而 C 表的結(jié)點為 A 表中值大于零的結(jié)點(鏈表 A 中的元
素為非零整數(shù),要求 B、 C 表利用 A 表的結(jié)點) 。 [ 題目分析 ]
B 表的頭結(jié)點使用原來 A 表的頭結(jié)點,為 C 表新申請一個頭結(jié)點。從 A 表的第一個結(jié)點
開始,依次取其每個結(jié)點 p,判斷結(jié)點 p 的值是否小于 0,利用前插法,將小于 0 的結(jié)點插入
B 表 , 大于等于 0 的結(jié)點插入 C 表。
[ 算法描述 ]

void DisCompose(LinkedList A) { B=A; B->next= NULL; ∥ B 表初始化C=new LNode;∥為 C 申請結(jié)點空間C->next=NULL; ∥ C 初始化為空表p=A->next; ∥ p 為工作指針while(p!= NULL) {r=p->next; ∥暫存 p 的后繼if(p->data<0) {p->next=B->next; B- >next=p; } ∥將小于 0 的結(jié)點鏈入 B 表 , 前插法else {p->next=C->next; C- >next=p; }∥將大于等于 0 的結(jié)點鏈入 C 表 , 前插法p=r; ∥p 指向新的待處理結(jié)點。} }

( 6)設(shè)計一個算法,通過一趟遍歷在單鏈表中確定值最大的結(jié)點。
[ 題目分析 ]
假定第一個結(jié)點中數(shù)據(jù)具有最大值,依次與下一個元素比較,若其小于下一個元素,則
設(shè)其下一個元素為最大值,反復(fù)進行比較,直到遍歷完該鏈表。
[ 算法描述 ]

ElemType Max (LinkList L ){ if(L->next==NULL) return NULL; pmax=L->next; // 假定第一個結(jié)點中數(shù)據(jù)具有最大值p=L->next->next; while(p != NULL ){// 如果下一個結(jié)點存在if(p->data > pmax->data) pmax=p;// 如果 p 的值大于 pmax 的值,則重新賦值p=p->next;// 遍歷鏈表 } return pmax->data;

( 7)設(shè)計一個算法,通過遍歷一趟,將鏈表中所有結(jié)點的鏈接方向逆轉(zhuǎn),仍利用原表的
存儲空間。
[ 題目分析 ]
從首元結(jié)點開始,逐個地把鏈表 L 的當前結(jié)點 p 插入新的鏈表頭部。
[ 算法描述 ]

void inverse(LinkList &L) {// 逆置帶頭結(jié)點的單鏈表 L p=L->next; L->next=NULL; while ( p) { q=p->next; // q 指向 *p 的后繼p->next=L->next; L->next=p; // *p 插入在頭結(jié)點之后p = q; } }

( 8)設(shè)計一個算法,刪除遞增有序鏈表中值大于 mink 且小于 maxk 的所有元素( mink
和 maxk 是給定的兩個參數(shù),其值可以和表中的元素相同,也可以不同 )。 [ 題目分析 ]
分別查找第一個值 >mink 的結(jié)點和第一個值 ≥ maxk 的結(jié)點,再修改指針,刪除值大于
mink 且小于 maxk 的所有元素。
[ 算法描述 ]

void delete(LinkList &L, int mink, int maxk) { p=L->next; // 首元結(jié)點while (p && p->data<=mink) { pre=p; p=p->next; } // 查找第一個值 >mink 的結(jié)點if (p) {while (p && p->data<maxk) p=p->next; // 查找第一個值 ≥ maxk 的結(jié)點q=pre->next; pre->next=p; // 修改指針while (q!=p) { s=q->next; delete q; q=s; } // 釋放結(jié)點空間}//if }

( 9)已知 p 指向雙向循環(huán)鏈表中的一個結(jié)點, 其結(jié)點結(jié)構(gòu)為 data 、prior 、next 三個域,
寫出算法 change§, 交換 p 所指向的結(jié)點和它的前綴結(jié)點的順序。
[ 題目分析 ]
知道雙向循環(huán)鏈表中的一個結(jié)點,與前驅(qū)交換涉及到四個結(jié)點( p 結(jié)點,前驅(qū)結(jié)點,前
驅(qū)的前驅(qū)結(jié)點,后繼結(jié)點)六條鏈。
[ 算法描述 ]
void Exchange ( LinkedList p ) ∥ p 是雙向循環(huán)鏈表中的一個結(jié)點,本算法將 p 所指結(jié)點與其前驅(qū)結(jié)點交換。

{q=p->llink ;q->llink->rlink=p ;∥ p 的前驅(qū)的前驅(qū)之后繼為 p p->llink=q->llink ;∥ p 的前驅(qū)指向其前驅(qū)的前驅(qū)。q->rlink=p->rlink ;∥ p 的前驅(qū)的后繼為 p 的后繼。q->llink=p ;∥ p 與其前驅(qū)交換p->rlink->llink=q ;∥ p 的后繼的前驅(qū)指向原 p 的前驅(qū)p->rlink=q ;∥ p 的后繼指向其原來的前驅(qū) } ∥算法 exchange 結(jié)束。

( 10)已知長度為 n 的線性表 A 采用順序存儲結(jié)構(gòu),請寫一時間復(fù)雜度為 O(n) 、空間復(fù)
雜度為 O(1) 的算法,該算法刪除線性表中所有值為 item 的數(shù)據(jù)元素。
[ 題目分析 ]
在順序存儲的線性表上刪除元素,通常要涉及到一系列元素的移動(刪第 i 個元素,第
i+1 至第 n 個元素要依次前移) 。本題要求刪除線性表中所有值為 item 的數(shù)據(jù)元素,并未要
求元素間的相對位置不變。因此可以考慮設(shè)頭尾兩個指針( i=1 , j=n ),從兩端向中間移動,
凡遇到值 item 的數(shù)據(jù)元素時,直接將右端元素左移至值為 item 的數(shù)據(jù)元素位置。
[ 算法描述 ]

void Delete ( ElemType A[ ]int n ) ∥ A 是有 n 個元素的一維數(shù)組,本算法刪除 A 中所有值為 item 的元素。 {i=1 ; j=n ;∥設(shè)置數(shù)組低、高端指針(下標) 。while ( i<j ){while ( i<j && A[i]!=item ) i++ ;∥若值不為 item ,左移指針。if ( i<j ) while ( i<j && A[j]==item ) j-- ;∥若右端元素為 item ,指針左移if ( i<j ) A[i++]=A[j--]}

排版和格式真的很費勁啊啊啊啊, 求贊~

總結(jié)

以上是生活随笔為你收集整理的【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 天干夜夜爽爽日日日日 | 欧美亚洲一 | 少妇特黄一区二区三区 | 日韩第一页在线观看 | 亚洲国产va| 免费一级黄 | 九九精品免费 | 欧美14sex性hd摘花 | 少妇特殊按摩高潮惨叫无码 | 亚洲免费视频一区二区三区 | 精品国产一级久久 | 久久久无码人妻精品无码 | 丁香激情六月 | 男人添女人下部高潮视频 | 日韩va在线 | 欧美高清在线视频 | 久久久久久久人妻无码中文字幕爆 | 国产日产久久高清欧美一区 | 久久久久久久精 | 国产精品久久久久久久毛片 | 国产精品久久久毛片 | 日本在线视频www | 在线视频麻豆 | 超碰一区二区三区 | 成人网免费视频 | 天堂网2014| heyzo北岛玲在线播放 | av鲁丝一区鲁丝二区鲁丝 | 天堂色播 | 久久精品噜噜噜成人88aⅴ | 一区二区福利视频 | 中文字幕日韩欧美一区二区 | 91偷拍视频| 国产aⅴ爽av久久久久成人 | 日韩美在线| 人妻精品无码一区二区 | 自拍偷拍综合 | 性欧美欧美巨大69 | 欧美成人a∨高清免费观看 国产精品999视频 | 176精品免费 | www黄色av | 黄页网站在线 | 奇米一区二区 | av永久免费在线观看 | 97久久精品 | 日韩精品一区二区三区电影 | 欧美成人精品一区二区三区 | 荔枝视频污| 岳狂躁岳丰满少妇大叫 | 免费看黄禁片 | 91麻豆精品国产91久久久更新时间 | 日韩精品一区二区三区四区五区 | 国产精品毛片久久久久久久av | 男人天堂一区二区 | www.色在线| 国产黄色自拍 | 国产精品久久在线 | 火影黄动漫免费网站 | 中文字幕永久在线观看 | 777四色| 中文字幕1 | 99热麻豆 | 国产精品一区二区6 | 久久国内视频 | 九九久久免费视频 | 不卡一区二区在线视频 | 欧美第一页 | 亚洲丝袜色图 | 国产一区自拍视频 | 韩国一区二区三区视频 | 麻豆av一区二区三区在线观看 | 中出精品| 国产性70yerg老太 | 国产精品刘玥久久一区 | 国产成人无码av在线播放dvd | 亚洲天堂资源 | 欧美一区二区三区婷婷月色 | 国产夫妻在线观看 | 日本三区视频 | 少妇精品视频一区二区 | 姑娘第5集高清在线观看 | 国产精品一区免费观看 | 亚洲三级黄色 | a级在线观看视频 | 日色网站 | 欧美黄色录像带 | 欧美精品久久久久久久 | 亚洲欧洲在线看 | 农村村妇真实偷人视频 | 人人舔人人 | 国产精品无码一区二区三区在线看 | 青娱乐在线免费观看 | 欧美激情动态图 | 超碰在线资源 | 色老头综合网 | 最好看的日本字幕mv视频大全 | 国产做a视频| 日韩精品第二页 | 小萝莉末成年一区二区 |