3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

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

编程问答

第三个一千行+500行总结-数据结构C复习--知识点总结3--七到九章

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三个一千行+500行总结-数据结构C复习--知识点总结3--七到九章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第七章 (接知識點總結2) 圖

圖的遍歷:

//深度優先搜索
#define OK 1
#define True ?1
#define Error -1
#define False 0
typedef enum{DG, DN, UDG. UDN}Graph;

int visited[MAX];
//Graph代表圖的一種存儲結構比如鄰接表,鄰接矩陣?
void TranverseGraph(Graph g){
?? ?int vi;
?? ?
?? ?for(vi = 0; vi < g.vernum; vi++)?
?? ??? ?visited[vi] = False;
?? ?for(vi = 0; vi < g.vernum; vi++){//連通圖那么此操作執行一次?
?? ??? ?if(!visited[vi])
?? ??? ??? ?DepthFirstSearch(g, vi);?? ?
?? ?}
}?
void DepthFirstSearch(Graph g, int v0)
{
?? ?visit(v0);
?? ?visited[v0] = True;
?? ?
?? ?w = FirstAdjVertex(g, v0);
?? ?while(w != -1){
?? ??? ?if(visited[w])
?? ??? ??? ?DepthFirstSearch(g, w);
?? ??? ?w = NextAdjVertex(g, v0, w);
?? ?}
}?

深度遍歷總結:總之就是一直找鄰接點,找到一個那么找這個結點的下一個鄰接點,找不到就換...

對于鄰接表:
void DepthFirstSearch(AdjList g, int v0){
?? ?visit(v0);
?? ?visited[v0] = True;//這里的True是宏定義,bool類型的為true
?? ?
?? ?ArcNode *p;
?? ?p = ?g.vertex[v0].firstarc;
?? ?while(p){
?? ??? ?if(!visited[p->adjvex])
?? ??? ??? ?DepthFirstSearch(g, p->adjvex);
?? ??? ?p = p->nextarc;
?? ?}
}?

圖的遍歷--廣度優先搜索?
void BreadFirstSearch(Graph g int v0){
?? ?visit(v0);
?? ?visited[v0] = True;//標志數組,證明該結點已經訪問過?
?? ?
?? ?InitQueue(&Q);
?? ?EnterQueue(&Q, v0);
?? ?
?? ?while(!IsEmpty(Q)){
?? ??? ?DeleteQueue(&Q, &v);
?? ??? ?w = FirstAdjVertex(g, v);
?? ??? ?while(w != -1){
?? ??? ??? ?if(!visited[w]){
?? ??? ??? ??? ?visit(w);
?? ??? ??? ??? ?visited[w] = True;
?? ??? ??? ??? ?EnterQueue(&Q, w);
?? ??? ??? ?}
?? ??? ??? ?w = NextAdjVertex(g, v, w);
?? ??? ?}
?? ?}
}?

廣度遍歷總結:就是一層一層的訪問,訪問完這一個結點衍生出去路徑為1的結點,在走下一層...


圖的應用

//求圖中兩個節點的簡單路徑
int pre[];

void one_path(Graph *G, int u, int v)
{
?? ?//找到一條從u到v結點的簡單路徑
?? ?int i;
?? ?pre = (int *)malloc(G->vexnum * sizeof(int));
?? ?for(i = 0; i < G->vernum; i++)
?? ??? ?pre[i] = -1;//未訪問標志?
?? ?pre[u] = -2;//訪問了,無前驅?
?? ?DSF_path(G, u, v);
?? ?free(pre);?
}

int DSF_path(Graph *G, int u, int v){
?? ?int j;
?? ?for(j = FirstAdj(G, u); j >= 0; j = nextadj(G, u, j)){
?? ??? ?if(pre[j] == -1){
?? ??? ??? ?pre[j] = u;
?? ??? ??? ?if(j == v)
?? ??? ??? ?{
?? ??? ??? ??? ?print_path(pre, v);
?? ??? ??? ??? ?return 1;
?? ??? ??? ?}
?? ??? ??? ?else if(DFS_path(G, j, v))
?? ??? ??? ??? ?return 1;?
?? ??? ?}?? ?
?? ?}
?? ?return 0;
}?

生成樹:一個連通圖的生成樹是一個極小聯通子圖, 含有全部頂點,只有構成一棵樹的n-1條邊
最小生成樹:各邊代價之和最小的生成樹

Prime算法:
思想:點集分為兩個U,V-U, 分別(U)存樹上的結點和(V-U)去掉U中結點的剩余結點;從V-U種選擇代價最小的邊
?? ?并入邊集,直到U=V.這一算法不會構成回路, 因為并入的邊始終是鄰接點分布在U和V-U中.
?? ??
//鄰接矩陣
#define MAXV ...
typedef struct{
?? ?int no;//頂點編號?
?? ?InfoType info;
}VertexType;
typedef struct{
?? ?int edges[MAXV][MAXV];//鄰接矩陣?
?? ?int n, e;//頂點數量, 邊數?
?? ?VertexType vexs[MAXV];//存放結點信息?
}MatGraph;?
#define M 32767
void Prime(MatGraph g, int v){
?? ?int lowcost[MAXV];
?? ?int min;
?? ?int closet[MAXV];
?? ?int i, j ,k;
?? ?for(i = 0; i < g.n; i++){
?? ??? ?lowcost[i] = g.edges[v][i];
?? ??? ?closet[i] = v;
?? ?}
?? ?for(i = 1; i < g.n; i++){
?? ??? ?min = M;
?? ??? ?for(j = 0; j < g.n; j++){
?? ??? ??? ?if(lowcost[j] != 0 && lowcost[j] < min){
?? ??? ??? ??? ?min = lowcost[j];
?? ??? ??? ??? ?k = j;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?printf("邊(%d, %d)權為: %d", v, k, lowcost[k]);
?? ??? ?lowcost[k] = 0;
?? ??? ?
?? ??? ?for(j = 0; j < g.n; j++){
?? ??? ??? ?if(lowcost[j] != 0 && lowcost[j] > g.edges[k][j])
?? ??? ??? ?{
?? ??? ??? ??? ?lowcost[j] = g.edges[k][j];
?? ??? ??? ??? ?closet[j] = k;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}


Kruskal?
總結:對所有邊的權重值按照升序排列,依次選取權重較小的邊,
?? ? 確保不構成回路(選中的邊的所有結點不能重復出現在新加入的一條邊中) ?? ?
?? ??
#define 32367
typedef struct{
?? ?int u;
?? ?int v;
?? ?int w;
?? ?//邊的始點, 重點, 權重?
}Edge;

void Kruskal(MatGraph h){
?? ?
?? ?int i, j, u1, v1, sn1, sn2, k;
?? ?int vset[MAXV];
?? ?Edge E[MaxSize];
?? ?
?? ?k = 0;//指示數組E的下標
?? ?
?? ?//對于邊(權重)初始化?
?? ?for(i = 0; i < g.n; i++){
?? ??? ?for(j = i + 1; j < g.n; j++)//上三角?
?? ??? ??? ?if(g.edge[i][j] != M)//M = 32367
?? ??? ??? ?{
?? ??? ??? ??? ?E[k].u = i; E[k].v = j;
?? ??? ??? ??? ?E[k].w = g.edge[i][j]; k++;
?? ??? ??? ?}
?? ?}
?? ?//冒泡排序最簡單?
?? ?Sort(E, edge); //升序, 權值遞增?
?? ?
?? ?for(i = 0; i < g.n; i++)//初始化輔助數組?
?? ??? ?vset[i] = i;
?? ??? ?
?? ?k = 1;//k:當前構造生成樹的第幾條邊, 初始值為1
?? ?j = 0;//E中邊的下標
?? ?while(k < g.n){
?? ??? ?
?? ??? ?u1 = E[j].u;
?? ??? ?v1 = E[j].v;
?? ??? ?sn1 = vset[u1];
?? ??? ?sn2 = vset[u2];
?? ??? ?
?? ??? ?if(sn1 != sn2){
?? ??? ??? ?printf("(%d, %d): %d", u1, v1, E[j].w);
?? ??? ??? ?k++;
?? ??? ??? ?for(i = 0; i < g.n; i++){
?? ??? ??? ??? ?if(vset[i] == sn2)
?? ??? ??? ??? ??? ?vset[i] = sn1;//改結點相同, 表示這兩個結點已經形
?? ??? ??? ??? ??? ?//通路, 避免成環?
?? ??? ??? ?}
?? ??? ??? ?j++;?
?? ??? ?}?
?? ?}?
}

拓撲排序

原理: 對于鄰接矩陣
找入度為零的結點i, 即列為零的結點,標記, 將其刪除, 刪除鄰接邊即將序號i的行置零 , 重復...

鄰接表
加一個輔助數組記錄每個結點的入度; 入度為0, 入棧;?
棧非空, 出棧, 刪除鄰接邊;
即輔助數組鄰接點的總數count-1;?

//鄰接表定義如下
typedef struct ANode{
?? ?int adjvex; // 該邊的終點編號?
?? ?struct Anode *nextarc;
}ArcNode;?
typedef struct{
?? ?Vertex data;
?? ?int count;//輔助數組, 存放入度?
?? ?ArcNode *firstarc;
}VNode;
typedef struct{
?? ?VNode adjlist[MAV];
?? ?int n, e;
}AdjGraph;

拓撲排序
//基于鄰接表?
void TopSort(AdjGraph *G){
??? ?int i, j;
??? ?int st[MAXV], ?top = -1;//棧的指針
?? ?ArcNode *p;
?? ?
?? ?for(i = 0; i < G->n;i++){//入度置初值為0?
?? ??? ?G->adjlist[i].count = 0;
?? ?}?
?? ?for(i = 0; i < G->n; i++){//求所有頂點的入度?
?? ??? ?p = G->adjlist[i].firstarc;
?? ??? ?while(p!=NULL){
?? ??? ??? ?G->adjlist[p->adjvex].count++;
?? ??? ??? ?p = p->nextarc;//鄰接表?
?? ??? ?}
?? ?}
?? ?for(i = 0; i < G.n; i++){//入度為零進棧?
?? ??? ?if(G->adjlist[i].count == 0){
?? ??? ??? ?top++;
?? ??? ??? ?st[top] = i;
?? ??? ?}
?? ?}
?? ?
?? ?while(top != -2){
?? ??? ?
?? ??? ?i = st[top]; top--;//出棧一個頂點i?
?? ??? ?printf("%d", i);
?? ??? ?
?? ??? ?p = G->adjlist[i].firstarc;
?? ??? ?while(p != NULL){
?? ??? ??? ?j = p->adjvex;//找出p的鄰接點,入度-1?
?? ??? ??? ?G->adjlist[j].count--;
?? ??? ??? ?if(G->adjlist[j].count == 0){//入度為0入棧?
?? ??? ??? ??? ?top++;
?? ??? ??? ??? ?st[top] = j;
?? ??? ??? ?}
?? ??? ??? ?p = p->nextarc;
?? ??? ?}
?? ??? ?
?? ?}
?}
?
AOE網--邊表示活動的網
唯一入度為0的頂點為源點,唯一出度為0的頂點為匯點
源點到匯點的最長路徑長度為整個工程任務所需時間,稱為關鍵路徑
關鍵路徑上的活動稱為關鍵活動.


//迪杰斯特算法 看PPT,難度較大?
void Dijkstra(MatGraph g, int v){ // v is the original dot.
?? ?int dist[MAXV], path[MAXV]; ? //dist is to memorize the weighted length of the path.
?? ?//path is used to memorize the node of the path
?? ?int s[MAXV]; //to mark the node whether have been used.
?? ?int mindist, i, j;
?? ?
?? ?for(i = 0; i < g.n; i++){
?? ??? ?dist[i] = g.edges[v][i]; //Firstly store the weighted length of the related edge.
?? ??? ?//If it is not relevant to it, put infinite on it. If it is itself, put 0 on it
?? ??? ?s[i] = 0;//s[] is cleared.
?? ??? ?if(g.edge[v][i] < INF)//如果v和i鄰接那么賦值i的鄰接點為v?
?? ??? ??? ?path[i] = v;
?? ??? ?else
?? ??? ??? ?path[i] = -1;//path is used to memorize the node before the latest
?? ??? ?//if it is -1, proven there is no path.
?? ?s[v] =1;?
?? ?for(i = 0; i < g.n; i++){//找出路徑長度最小頂點u?
?? ??? ?mindis = INF;
?? ??? ?for(j = 0; j < g.n; j++)//Find out the shortest length of the node.
?? ??? ??? ?if(s[j] == 0 && dist[j] < mindis){
?? ??? ??? ??? ?u = j;
?? ??? ??? ??? ?mindis = dist[j];
?? ??? ??? ?}
?? ??? ?s[u] = 1;//node u is added into s//u has been used
?? ??? ?for(j = 0; j < g.n; j++)
?? ??? ??? ?if(s[j] == 0)//s[j]is not used
?? ??? ??? ??? ?if(g.edge[u][j]<INF && dist[u]+g.edge[u][j]<dist[j]){
?? ??? ??? ??? ??? ?dist[j] = dist[u]+g.edges[u][j];
?? ??? ??? ??? ??? ?path[j] = u;?
?? ??? ??? ??? ?}
?? ?}?? ?
?? ?}
?? ?Dispath(dist, path, s, g.n, v);//printf
} ?

對于多源點最短路徑問題
//佛洛里得算法 難度大,看ppt?
void Floyd(MatGraph g){
?? ?int A[MAXVEX][MAXVEX];//記錄路徑長度
?? ?int path[MAXVEX][MAXVEX];//記錄路徑?
?? ?int i, j, k;
?? ?for(i = 0; i < g.n; i++)
?? ??? ?for(j = 0; j < g.n; j++){
?? ??? ??? ?A[i][j] = g.edges[i][j];
?? ??? ??? ?if(i!= j && g.edges[i][j] < INF)
?? ??? ??? ??? ?path[i][j] = i;
?? ??? ??? ?else
?? ??? ??? ??? ?path[i][j] = -1;//自環或者不存在鄰接邊?
?? ??? ?}?
?? ?for(k = 0; k < g.n; k++){//O(n^3)
?? ??? ?for(i = 0; i < g.n; i++)
?? ??? ??? ?for(j = 0; j < g.n; j++)
?? ??? ??? ??? ?if(A[i][j] > A[i][k]+A[k][i]){
?? ??? ??? ??? ?//i, j 之間有兩種形式, i直接到j;
?? ??? ??? ??? ?//或者i經過k到達j?
?? ??? ??? ??? ??? ?A[i][j] = A[i][k]+A[k][i];
?? ??? ??? ??? ??? ?path[i][j] = path[k][j];
?? ??? ??? ??? ??? ?//修改最短路徑經過k?
?? ??? ??? ??? ?}
?? ?}
}?

第七章總結:圖是最復雜的線性表.分類很多根據弧的有向與否,連通性,邊數量,權....
儲存分為邊集合(鄰接矩陣), 鏈接的方式(鄰接表,十字鏈表,鄰接多重表)
圖的遍歷分為深度遍歷和廣度優先遍歷,前者遞歸,后者隊列!!!

應用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1?

第八章 查找

概念:列表(python,就相當于數組),主關鍵詞,次關鍵字
查找:分為動態和靜態查找 前者僅僅是查找, 后者插入找不到的元素或者刪除已經查到的元素

?
基于線性表的查找

// 1.順序查找法
//思想:所給的關鍵字和表中元素的關鍵字逐個比較
定義如下:
#define SIZE 20
typedef struct{
?? ?int key;
?? ?int other_data;
}RecordType;?

typedef struct{
?? ?RecordType r[SIZE];//r[0]為工作單元?
?? ?int length;
}RecordList;

分為:設置監視哨和不設監視哨
監視哨:r[0]防止越界

int SeqSearch(RecordList ?l, ?KeyType ?k)
//在順序表l中順序查找其關鍵字等于k的元素,若找到,則函數值為該元素在表中的位置,否則為0
{
?? ?int i;
?? ?l.r[0].key=k;?
?? ?i=l.length;
?? ?while (l.r[i].key!=k) ?i--;
?? ?return(i);
}

int SeqSearch(RecordList l, ?KeyType k)
//不用"監視哨"法,在順序表中查找關鍵字等于k的元素
{
?? ?int i;
?? ?i=l.length;
?? ?while (i>=1&&l.r[i].key!=k) ?i--;
?? ?if (i>=1)?
?? ??? ?return(i);
?? ?else
?? ??? ?return (0);
}

//2.折半查找法
要求:順序儲存結構(不能鏈表!!!),按照關鍵字大小有序排列(正序和逆序)
思想:利用mid=(high+low)/2(整數). 判斷條件:low<=high;

int BinSrch(RecordList ?l, ?KeyType ?k)
/*在有序表l中折半查找其關鍵字等于k的元素,若找到,則函數值為該元素在表中的
位置*/
{
?? ?int low,high,mid;
?? ?low=1; ?
?? ?high=l.length;/*置區間初值*/
?? ?while( low <= high)
?? ?{
?? ??? ?mid=(low+high) / 2;
?? ??? ?if ?(k==l.r[mid]. key) ?
?? ??? ??? ?return (mid);/*找到待查元素*/
?? ??? ?else ?
?? ??? ??? ?if (k<l.r[mid]. key)?
?? ??? ??? ??? ?high=mid-1;/*未找到,則繼續在前半區間進行查找*/
?? ??? ??? ?else ?
?? ??? ??? ??? ?low=mid+1;/*繼續在后半區間進行查找*/
?? ?}
?? ?return (0);
}

//3.分塊查找法
要求:列表分為子表,最后一個子表長度可以不滿;索引表每個索引對應每個塊(子表)的起始位置,記錄每個塊的最大(最小)
的關鍵字;索引表按照關鍵字有序排列


基于樹的查找法

二叉排序樹定義:元素大小關系:左子樹<根<右子樹,遞歸定義

結構定義:
typedef struct node{
?? ?int key;
?? ?struct node *lchild, *rchild;
}BSTNode, *BSTree;
?
插入:?
遞歸算法?
void InsertBST(BSTree *bst, KeyType key)
/*若在二叉排序樹中不存在關鍵字等于key的元素,插入該元素*/
{?
?? ?BSTree s;
?? ?if (*bst == NULL)/*遞歸結束條件*/
?? ?{
?? ??? ?s=(BSTree)malloc(sizeof(BSTNode));/*申請新的結點s*/
?? ??? ?s-> key=key;
?? ??? ?s->lchild=NULL;?
?? ??? ?s->rchild=NULL;
?? ??? ?*bst=s;
?? ?}
?? ?else?
?? ??? ?if (key < (*bst)->key)
?? ??? ??? ?InsertBST(&((*bst)->lchild), key);/*將s插入左子樹*/
?? ??? ?else?
?? ??? ??? ?if (key > (*bst)->key)
?? ??? ??? ??? ?InsertBST(&((*bst)->rchild), key); /*將s插入右子樹*/
}

非遞歸: !!!!!!!!!!!!!!!
int ?InsertBST(BSTree ?*bst, ?KeyType ?K)
/*若在二叉排序樹中不存在關鍵字等于key的元素,插入該元素*/
{
?? ?BSTree ?f, q, s;
?? ?s=(BSTree)malloc(sizeof(BSTNode));
?? ?s->key = K;
?? ?s->lchild = NULL;
?? ?s->rchild = NULL;
?? ?
?? ?//空樹直接賦值?
?? ?if ( *bst == NULL )?
?? ?{?
?? ??? ?*bst = s;?
?? ??? ?return ?1;?
?? ?}
?? ?//指針跟蹤技術?
?? ?f = NULL;
?? ?q = *bst;
?? ?while( q )
?? ?{?
?? ??? ?if ( q->key == K )?
?? ??? ??? ?return ?0;
?? ??? ?if( K < q->key ) //小于走左邊?
?? ??? ?{?
?? ??? ??? ?f = q;?
?? ??? ??? ?q = q->lchild;?
?? ??? ?}
?? ??? ?else?
?? ??? ?{ ?
?? ??? ??? ?f = q;?
?? ??? ??? ?q = q->rchild;?
?? ??? ?}
?? ?}//走到頭仍然沒找到就插入?
?? ?if ( K < f->key )?
?? ??? ?f->lchild = s;?
?? ?else ?
?? ??? ?f->rchild = s;
?? ?return ?1; ?
}

創建二叉排序樹:
void ?CreateBST(BSTree ?*bst)
/*從鍵盤輸入元素的值,創建相應的二叉排序樹*/
{?
?? ?KeyType key;
?? ?*bst=NULL;
?? ?scanf("%d", &key);
?? ?while (key!=ENDKEY) ? /*ENDKEY為自定義常量*/
?? ?{
?? ??? ?InsertBST(bst, key);
?? ??? ?scanf("%d", &key);
?? ?}
}?

查找:?
遞歸算法?
BSTree ?SearchBST(BSTree bst, KeyType key)
//在根指針bst所指二叉排序樹中,遞歸查找某關鍵字等于key的元素,若查找成功,返回指向該元素結點指針,否則返回空指針
{?
?? ?if (!bst)?
?? ??? ?return NULL;
?? ?else if (bst->key == key)
?? ??? ?return bst;//查找成功
?? ?else if (bst->key > key)
?? ??? ?return SearchBST(bst->lchild, key);//在左子樹繼續查找
?? ?else?
?? ??? ?return SearchBST(bst->rchild, key);//在右子樹繼續查找
}

二叉排序樹的刪除略顯復雜:
1.不存在,不動
2.存在
2.1.葉子節點:直接刪,free掉
2.2只有左右子樹一支:孩子改到刪去位置(孩子變為雙親),free
2.3.左右孩子都有:
2.3.1處理1:
?? ?利用中序遍歷算法找到將要刪除結點p的直接前驅s,p左子樹變為其雙親的左孩子,右子樹變為其前驅s的右孩子?
2.3.2處理2:?
?? ?直接刪除結點p,p的前驅s代替p,free(s),s的左孩子為s的雙親的右孩子,p的右孩子為s的右孩子
!!!
BSTNode ?* DelBST(BSTree t, KeyType ?k) /*在二叉排序樹t中刪去關鍵字為k的結點*/
{
?? ?BSTNode ?*p, *f,*s ,*q;
?? ?p=t;?
?? ?f=NULL;
?? ?while(p) ?/*查找關鍵字為k的待刪結點p*/
?? ?{?
?? ??? ?if(p->key==k ) ?break; ?/*找到則跳出循環*/
?? ??? ?f=p; ? /*f指向p結點的雙親結點*/
?? ??? ?if(p->key>k) ?
?? ??? ??? ?p=p->lchild;
?? ??? ?else?
?? ??? ??? ?p=p->rchild;
?? ?}?
?? ?if(p==NULL) ?return t; ?/*若找不到,返回原來的二叉排序樹*/
?? ?if(p->lchild==NULL) ?/*p無左子樹*/
?? ?{?
?? ??? ?if(f==NULL)?
?? ??? ??? ?t=p->rchild; ?/*p是原二叉排序樹的根*/
?? ??? ?else?
?? ??? ??? ?if(f->lchild==p) ?/*p是f的左孩子*/
?? ??? ??? ??? ?f->lchild=p->rchild ; ?/*將p的右子樹鏈到f的左鏈上*/
?? ??? ??? ?else ?/*p是f的右孩子*/
?? ??? ??? ??? ?f->rchild=p->rchild ; ?/*將p的右子樹鏈到f的右鏈上*/
?? ??? ??? ?free(p); ?/*釋放被刪除的結點p*/
?? ?}
?? ?else ?/*p有左子樹*/
?? ?{?
?? ??? ?q=p;?
?? ??? ?s=p->lchild;
?? ??? ?while(s->rchild) ?/*在p的左子樹中查找最右下結點*/
?? ??? ?{
?? ??? ??? ?q=s;?
?? ??? ??? ?s=s->rchild;
?? ??? ?}
?? ??? ?if(q==p)?
?? ??? ??? ?q->lchild=s->lchild ; ?/*將s的左子樹鏈到q上*/
?? ??? ?else?
?? ??? ??? ?q->rchild=s->lchild;
?? ??? ?p->key=s->key; ?/*將s的值賦給p*/
?? ??? ?free(s);
?? ?}
?? ?return t;
} ?
?? ?
平衡二叉排序樹:左子樹右子樹高度絕對值之差小于等于1
插入算法:LL,RR,LR,RL型

結構定義中含平衡因子代碼如下:
?? ?
void ?ins_AVLtree(AVLTree ?*avlt , ?KeyType ?K)
/*在平衡二叉樹中插入元素k,使之成為一棵新的平衡二叉排序樹*/
{
?? ?AVLTNode *S;
?? ?AVLTNode *A,*FA,*p,*fp,*B,*C;
?? ?S=(AVLTree)malloc(sizeof(AVLTNode));
?? ?S->key=K;?
?? ?S->lchild=S->rchild=NULL;
?? ?S->bf=0;
?? ?if (*avlt==NULL) ?
?? ??? ?*avlt=S;
?? ?else?
?? ?{?
?? ?/* 首先查找S的插入位置fp,同時記錄距S的插入位置最近且
?? ??? ?平衡因子不等于0(等于-1或1)的結點A,A為可能的失衡結點*/
?? ??? ?A=*avlt; ?FA=NULL;
?? ??? ?p=*avlt; ?fp=NULL;
?? ??? ?while ?(p!=NULL)
?? ??? ?{?
?? ??? ??? ?if (p->bf!=0)?
?? ??? ??? ?{
?? ??? ??? ??? ?A=p; FA =fp;
?? ??? ??? ?}
?? ??? ??? ?fp=p;
?? ??? ??? ?if ?(K < p->key) ?
?? ??? ??? ??? ?p=p->lchild;
?? ??? ??? ?else ?
?? ??? ??? ??? ?p=p->rchild;
?? ??? ?}
?? ??? ?/* 插入S*/
?? ??? ?if (K < fp->key)?
?? ??? ??? ?fp->lchild=S;
?? ??? ?else
?? ??? ??? ?fp->rchild=S;
?? ??? ?/* 確定結點B,并修改A的平衡因子 */
?? ??? ?if (K < A->key)
?? ??? ?{
?? ??? ??? ?B=A->lchild;
?? ??? ??? ?A->bf=A->bf+1;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?B=A->rchild;
?? ??? ??? ?A->bf=A->bf-1;
?? ??? ?}
?? ??? ?/* 修改B到S路徑上各結點的平衡因子(原值均為0)*/
?? ??? ?p=B;
?? ??? ?while (p!=S)
?? ??? ?{
?? ??? ??? ?if ?(K < p->key)
?? ??? ??? ?{
?? ??? ??? ??? ?p->bf=1;
?? ??? ??? ??? ?p=p->lchild;
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?p->bf=-1;
?? ??? ??? ??? ?p=p->rchild;
?? ??? ??? ?}
?? ??? ??? ?/* 判斷失衡類型并做相應處理 */
?? ??? ??? ?if ?(A->bf==2 && B->bf==1) ? ? ? /* LL型 */
?? ??? ??? ?{
?? ??? ??? ??? ?B=A->lchild;
?? ??? ??? ??? ?A->lchild=B->rchild;
?? ??? ??? ??? ?B->rchild=A;
?? ??? ??? ??? ?A->bf=0;
?? ??? ??? ??? ?B->bf=0;
?? ??? ??? ??? ?if (FA==NULL)?
?? ??? ??? ??? ??? ?*avlt=B;
?? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ?if (A==FA->lchild)?
?? ??? ??? ??? ??? ??? ?FA->lchild=B;
?? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ?FA->rchild=B;
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ??? ?if (A->bf==2 && B->bf==-1) ? ? ? /* LR型 */
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?B=A->lchild;
?? ??? ??? ??? ??? ?C=B->rchild;
?? ??? ??? ??? ??? ?B->rchild=C->lchild;
?? ??? ??? ??? ??? ?A->lchild=C->rchild;
?? ??? ??? ??? ??? ?C->lchild=B;
?? ??? ??? ??? ??? ?C->rchild=A;
?? ??? ??? ??? ??? ?if (S->key < C->key)
?? ??? ??? ??? ??? ?{?
?? ??? ??? ??? ??? ??? ?A->bf=-1;
?? ??? ??? ??? ??? ??? ?B->bf=0;
?? ??? ??? ??? ??? ??? ?C->bf=0;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ?if (S->key >C->key)
?? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ?A->bf=0;
?? ??? ??? ??? ??? ??? ??? ?B->bf=1;
?? ??? ??? ??? ??? ??? ??? ?C->bf=0;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ?{?
?? ??? ??? ??? ??? ??? ??? ?A->bf=0;
?? ??? ??? ??? ??? ??? ??? ?B->bf=0;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?if ?(FA==NULL)?
?? ??? ??? ??? ??? ??? ??? ?*avlt=C;
?? ??? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ??? ?if (A==FA->lchild)?
?? ??? ??? ??? ??? ??? ??? ??? ?FA->lchild=C;
?? ??? ??? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ??? ??? ?FA->rchild=C;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ?if ?(A->bf==-2 && B->bf==1) ? ? ? /* RL型 */
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?B=A->rchild;
?? ??? ??? ??? ??? ??? ?C=B->lchild;
?? ??? ??? ??? ??? ??? ?B->lchild=C->rchild;
?? ??? ??? ??? ??? ??? ?A->rchild=C->lchild;
?? ??? ??? ??? ??? ??? ?C->lchild=A;
?? ??? ??? ??? ??? ??? ?C->rchild=B;
?? ??? ??? ??? ??? ??? ?if (S->key <C->key)?
?? ??? ??? ??? ??? ??? ?{?
?? ??? ??? ??? ??? ??? ??? ?A->bf=0;
?? ??? ??? ??? ??? ??? ??? ?B->bf=-1;
?? ??? ??? ??? ??? ??? ??? ?C->bf=0;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ??? ?if (S->key >C->key)
?? ??? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ??? ?A->bf=1;
?? ??? ??? ??? ??? ??? ??? ??? ?B->bf=0;
?? ??? ??? ??? ??? ??? ??? ??? ?C->bf=0;
?? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ??? ?{?
?? ??? ??? ??? ??? ??? ??? ??? ?A->bf=0;
?? ??? ??? ??? ??? ??? ??? ??? ?B->bf=0;
?? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ?if (FA==NULL) ?
?? ??? ??? ??? ??? ??? ??? ??? ?*avlt=C;
?? ??? ??? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ??? ??? ?if (A==FA->lchild)?
?? ??? ??? ??? ??? ??? ??? ??? ??? ?FA->lchild=C;
?? ??? ??? ??? ??? ??? ??? ??? ?else ?
?? ??? ??? ??? ??? ??? ??? ??? ??? ?FA->rchild=C;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ?if (A->bf==-2 && B->bf==-1) ? ? ? /* RR型 */
?? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ?B=A->rchild;
?? ??? ??? ??? ??? ??? ??? ?A->rchild=B->lchild;
?? ??? ??? ??? ??? ??? ??? ?B->lchild=A;
?? ??? ??? ??? ??? ??? ??? ?A->bf=0;
?? ??? ??? ??? ??? ??? ??? ?B->bf=0;
?? ??? ??? ??? ??? ??? ??? ?if (FA==NULL)?
?? ??? ??? ??? ??? ??? ??? ??? ?*avlt=B;
?? ??? ??? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ??? ??? ?if (A==FA->lchild)
?? ??? ??? ??? ??? ??? ??? ??? ??? ?FA->lchild=B;
?? ??? ??? ??? ??? ??? ??? ??? ?else?
?? ??? ??? ??? ??? ??? ??? ??? ??? ?FA->rchild=B;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ?}
}?

icoding例題:
?? ?
AVL添加
平衡二叉樹,是一種二叉排序樹,其中每個結點的左子樹和右子樹的高度差至多等于1。
它是一種高度平衡的二叉排序樹?,F二叉平衡樹結點定義如下:

typedef struct node
{
? ? int val;
? ? struct node *left;
? ? struct node *right;
? ? struct node *parent;
? ? int height;
} node_t;
//請實現平衡二叉樹的插入算法:

//向根為 root 的平衡二叉樹插入新元素 val,成功后返回新平衡二叉樹根結點
node_t *avl_insert(node_t *root, int val);

#include <stdlib.h>
#include <stdio.h>
#include "avl.h"

int get_height(node_t *p){
?? ?if(!p)
?? ??? ?return 0;
?? ?else
?? ??? ?return p->height;
}

node_t* avl_insert(node_t *root, int val){
//首先清晰字母定義;
//val新插入結點元素值,height高度!!!?
//定義查找過程中出現的距離插入結點最近的平衡因子不為零的結點A
//定義A的孩子結點為B,需要旋轉的結點
//定義插入節點為s,s的值為val
//平衡因子:左子樹減去右子樹深度?

?? ?node_t *s, *A, *B, *C, *p, *fp;
?? ?//依次:插入點, 失衡點(也可能是旋轉點),旋轉點,旋轉點(也可能是插入點=s),動點,跟蹤點
?? ?int i, k;//平衡因子?
?? ?
?? ?s = (node_t *)malloc(sizeof(node_t));
?? ?if(!s) return NULL;
?? ?
?? ?s->val = val;
?? ?s->left = s->parent = s->right = NULL;
?? ?s->height = 1;
?? ?
?? ?//類似于指針跟蹤技術,p為動指針,A為跟蹤指針?
?? ?A = root; A->parent = NULL;
?? ?p = root; p->parent = NULL;
?? ?
?? ?//找出A?
?? ?if(!p)
?? ??? ?root = s;
?? ?else{
?? ??? ?while(p){
?? ??? ??? ?//先找出最近的A->height!=0的結點, 就是最后的失衡點
?? ??? ??? ?i = get_height(p->left) - get_height(p->right);?
?? ??? ??? ?if(i){
?? ??? ??? ??? ?A = p;
?? ??? ??? ??? ?A->parent = p->parent;
?? ??? ??? ?}
?? ??? ??? ?//fp跟蹤p,因為下一步p會往下移動,p最終指向s的那一層?
?? ??? ??? ?fp = p;
?? ??? ??? ?if(val < p->val)
?? ??? ??? ??? ?p = p->left;
?? ??? ??? ?else
?? ??? ??? ??? ?p = p->right;
?? ??? ??? ?}//p最終指向NULL就推出循環?? ??
?? ?}?
?? ?
?? ?//插入, 此時fp是p的前一個結點,p指向空?
?? ?if(val < fp->val)
?? ??? ?fp->left = s;
?? ?else
?? ??? ?fp->right = s;
?? ??? ?
?? ?//確定旋轉結點B,修改A的平衡因子
?? ?if(val < A->val)
?? ??? ?B = A->left;
?? ?else
?? ??? ?B = A->right;

?? ?A->height++;
?? ?
?? ?//修改路徑B到s的高度, B在A的下一層?
?? ?p = B; // p最終指向s, 之前指向的是s這一層,但是是空

?? ?while(p != s){
?? ??? ?p->height++;
?? ??? ?if(val < p->val)
?? ??? ??? ?p = p->left;?
?? ??? ?else
?? ??? ??? ?p = p->right;?? ?
?? ?}
?? ?//最終s的高度沒有++的?
?? ??? ?
?? ?
?? ?//調整完高度就修改結點和指針, 首先需要判斷失衡類型
?? ?//分為LL,LR,RR,RL
?? ?//結點A,B平衡因子在修改指針的過程中會變化,但是路徑上的結點不會
?? ?//指針修改包括s結點指針和原來雙親結點指針?
?? ?i = get_height(A->left) - get_height(A->right);
?? ?k = get_height(B->left) - get_height(B->right);?
?? ?
?? ?if(i == 2 && k == 1){//LL
?? ??? ?//B作為旋轉結點
?? ??? ?//先改結點指針, 此時s插入在B的左子樹下, 原來可以認為B左右子樹,A右子樹均為空
?? ??? ?A->left = B->right;
?? ??? ?B->right = A;
?? ??? ?
?? ??? ?//考慮原來A結點的指針,改成B后相應的指針也要改變,下面同理
?? ??? ?if(A->parent == NULL)
?? ??? ??? ?root = B;
?? ??? ?else if(A->parent->left == A)
?? ??? ??? ?A->parent->left = B;
?? ??? ?else
?? ??? ??? ?A->parent->right = B;?? ??? ?
?? ?}
?? ?else if(i == -2 && k == -1){//RR
?? ??? ?A->right = B->left;
?? ??? ?B->left = A;
?? ??? ?
?? ??? ?if(A->parent == NULL)
?? ??? ??? ?root = B;
?? ??? ?else if(A->parent->left == A)
?? ??? ??? ?A->parent->left = B;
?? ??? ?else
?? ??? ??? ?A->parent->right = B;?? ?
?? ?}
?? ?else if(i == 2 && k == -1){//LR
?? ??? ?//此時認為C的左右子樹空,B逆時針旋轉,A順時針旋轉, s插入C的左子樹或者右子樹?
?? ??? ?//如果C結點也是空,也就是說B右子樹空,那么直接插入C=s為B右子樹,此時A右子樹也是空的?
?? ??? ?C = B->right;
?? ??? ?B->right = C->left;
?? ??? ?A->left = C->right;
?? ??? ?C->left = B;
?? ??? ?C->right = A;
?? ??? ?
?? ??? ?if(A->parent == NULL)
?? ??? ??? ?root = C;
?? ??? ?else if(A->parent->left == A)
?? ??? ??? ?A->parent->left = C;
?? ??? ?else
?? ??? ??? ?A->parent->right = C;
?? ?}
?? ?else if(i == -2 && k == 1){//RL?
?? ??? ?//和LR一樣,畫圖來看就好
?? ??? ?C = B->left;
?? ??? ?A->right = C->left;
?? ??? ?B->left = C->right;
?? ??? ?C->left = A;
?? ??? ?C->right = B;
?? ??? ?
?? ??? ?if(A->parent == NULL)
?? ??? ??? ?root = C;
?? ??? ?else if(A->parent->left == A)
?? ??? ??? ?A->parent->left = C;
?? ??? ?else
?? ??? ??? ?A->parent->right = C;
?? ?}
?? ?return root;
}?


計算式查找法:hash(python的字典就是這么存的)

//hash:
1.數字分析法:選擇合適位數的分布均勻的關鍵字?
2.平方取中法:求關鍵字平方值,取中間,重復概率低?
3.分段疊加法:折疊法,移位法
4.除留余數法:取余除數為小于等于表長的最大素數?
5.偽隨機數法:電腦生成偽隨機數?
?? ?
處理沖突!!!!:
1.開放地址法(再散列法):
1.1.線性探測再散列:di = 1,2,3......
1.2.二次探測再散列:di = 1^2, -1^2, 2^2, -2^2,......?
1.3.偽隨機探測再散列: ...

2.再哈希法
3.鏈地址法:!!!
4.建立公共溢出區:分為基本表和溢出表

icoding:
?? ?
哈希表創建
typedef enum{
? ? HASH_OK,
? ? HASH_ERROR,
? ? HASH_ADDED,
? ? HASH_REPLACED_VALUE,
? ? HASH_ALREADY_ADDED,
? ? HASH_DELETED,
? ? HASH_NOT_FOUND,
} HASH_RESULT;
typedef struct __HashEntry HashEntry;
struct __HashEntry{
? ? union{
? ? ? ? char ?*str_value;
? ? ? ? double dbl_value;
? ? ? ? int ? ? ? int_value;
? ? } key;
? ? union{
? ? ? ? char ?*str_value;
? ? ? ? double dbl_value;
? ? ? ? int ? ? ? int_value;
? ? ? ? long ? long_value;
? ? ? ? void ?*ptr_value;
? ? } value;
? ? HashEntry *next;
};
struct __HashTable{
? ? HashEntry **bucket; ? ? ? ?
? ? int size;
? ? HASH_RESULT last_error;
};
typedef struct __HashTable HashTable;
// 創建大小為hash_size的哈希表,創建成功后返回HashTable類型的指針,否則返回NULL。
HashTable *create_hash(int hash_size);
哈希表相關說明:

HASH_RESULT 類型為相關函數的返回類型
HashEntry 為哈希表所保存元素(即鍵值對 《key, value》)類型
HashTable 為哈希表,其中 bucket 指向大小為size的、元素類型為 HashEntry*的指針數組
哈希表采用鏈地址法處理沖突
請實現 create_hash 函數,創建指定大小的哈希表。
#include <stdio.h>
#include <stdlib.h>
#include "hash.h"

HashTable* create_hash(int size){
?? ?HashTable *r;
?? ?
?? ?r = (HashTable *)malloc(sizeof(HashTable));
?? ?if(r == NULL) return NULL;
?? ?
?? ?r->bucket = (HashEntry **)malloc(size * sizeof(HashEntry *));
?? ?if(r->bucket == NULL){
?? ??? ?free(r);
?? ??? ?return NULL;
?? ?}
?? ?
?? ?r->size = size;
?? ?r->last_error = HASH_OK;
?? ?return r;
}

添加:?
向哈希表中添加元素,其中鍵類型為char*, 元素類型為int。
HASH_RESULT hash_add_int(HashTable * table, const char * key, int value);

哈希表相關說明:
HASH_RESULT 類型為相關函數的返回類型
HashEntry 為哈希表所保存元素(即鍵值對 《key, value》)類型
HashTable 為哈希表,其中 bucket 指向大小為size的、元素類型為 HashEntry*的指針數組
哈希表采用鏈地址法處理沖突
請實現 hash_add_int 函數,向哈希表中添加元素,其中鍵類型為char*, 元素類型為int。
在添加過程中,如果要添加的鍵值key已在哈希表中,且對應的值value也已存在,則函數返回 HASH_ALREADY_ADDED;
如果要添加的鍵值key已在哈希表中,但對應的值value不同,函數將value值更新到哈希表中,之后返回 HASH_REPLACED_VALUE
如果要添加的鍵值key不在哈希表中,則函數創建 HashEntry 類型,并將其加入到哈希表中,且函數返回 HASH_ADDED。
本題所用的哈希函數如下:
long hash_string(const char *str)
{
? ? long hash = 5381;
? ? int c;

? ? while (c = *str++)
? ? ? ? hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
? ? if(hash < 0)
? ? ? ? hash *= -1;
? ? return hash;
}

#include <stdio.h> ? ?
#include "stdlib.h"
#include "hash.h" ? ? ?
#include <string.h>
?
HASH_RESULT hash_add_int(HashTable *table, const char *key, int value ){
?? ?
?? ?HashEntry *p;//指的是每一個鍵值對?
?? ?int h = hash_string(key) % table->size;//保存哈希函數返回值?
?? ?//int類型也可以?
?? ?// !h %= table->size; 編譯器奇怪的不通過.....?
?? ?
?? ?//該關鍵字對應的哈希表中鍵值對不存在, 分配節點存入?
?? ?if(!table->bucket[h]){
?? ??? ?p = (HashEntry *)malloc(sizeof(HashEntry));
?? ??? ?if(!p) return HASH_ERROR;
?? ??? ?p->key.str_value = (char *)malloc(strlen(key));
?? ??? ?if(!p->key.str_value){
?? ??? ??? ?free(p);
?? ??? ??? ?return HASH_ERROR;
?? ??? ?}
?? ??? ?//!!!!字符串拷貝?
?? ??? ?strcpy(p->key.str_value, key);
?? ??? ?p->value.int_value = value;
?? ??? ?//最好還是置空?
?? ??? ?p->next = NULL;
?? ??? ?table->bucket[h] = p;
?? ??? ?
?? ??? ?return HASH_ADDED;
?? ?}

?? ?//關鍵字對應的哈希表中該位置存在鍵值對,判斷重復或者沖突?
?? ?p = table->bucket[h];
?? ?while(p){?? ?
?
?? ??? ?//關鍵字相同?
?? ??? ?if(strcmp(key, p->key.str_value)==0){
?? ??? ??? ?//判斷值?
?? ??? ??? ?if(p->value.int_value == value){
?? ??? ??? ??? ?return HASH_ALREADY_ADDED;
?? ??? ??? ?}
?? ??? ??? ?else{
?? ??? ??? ??? ?p->value.int_value = value;
?? ??? ??? ??? ?return HASH_REPLACED_VALUE;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?//鏈地址法?
?? ??? ?else{
?? ??? ??? ?if(p->next)
?? ??? ??? ??? ?p = p->next;
?? ??? ??? ?else
?? ??? ??? ??? ?break;
?? ??? ?}
?? ?
?? ?}
?? ?//循環完成后?
?? ?//p指向最后一個結點?
?? ?HashEntry *q;//q接到p后面?
?? ?q = (HashEntry *)malloc(sizeof(HashEntry));
?? ?if(!q) return HASH_ERROR;
?? ?
?? ?q->key.str_value = (char *)malloc(strlen(key));
?? ?if(!q->key.str_value){
?? ??? ?free(q);
?? ??? ?return HASH_ERROR;
?? ?}
?? ?
?? ?strcpy(q->key.str_value, key);
?? ?q->value.int_value = value;
?? ?q->next = NULL;
?? ?p->next = q;
?? ?
?? ?return HASH_ADDED;
?? ??? ?
}
?
第八章總結:?
查找機制: 基于線性結構:靜態查找表,基于比較的順序檢索和折半檢索(有點像快排)
?? ??? ? ?基于樹形結構:動態查找?
?? ??? ? ?哈希計算式查找: 根據關鍵字計算存儲地址
二叉排序樹:值域左子樹 < 根 < 右子樹
其構建:每次從根節點開始比較,順次比較插入
對于二叉排序樹中序遍歷得到遞增序列
查找:比較次數不超過樹的深度,平均查找長度O(log2(n)).?
平衡二叉樹...(AVL)?
Hash法...?

第九章 內部排序?

排序:重點在于對于記錄的關鍵字進行排序,得到按關鍵字有序記錄序列
分為:
?? ?A.內部排序: 排序過程在內存中進行?
?? ?B.外部排序: 待排序記錄數據量過大,需要借助外部存儲設備
排序的穩定性:排序后有相同關鍵字的記錄順序不變就是穩定的排序


插入類排序:
1.直接插入排序:將新加入的記錄的關鍵字與之前的記錄關鍵字從后往前比較,
?? ??? ??? ? ? 若較小,則向前比較,同時進行比較的記錄后移一個位置,直到找到小于等于的關鍵字,插入在其后.?

實例代碼如下: (表內操作)
void InsSort(int r[], int length){//r可以設置為結構數組,這里認為是數組?
?? ?int i,j;
?? ?for(i = 2; i < length; i++){ // i=2開始,i=1為第一個元素,認為是子表,i=0設置為監視哨?
?? ??? ?r[0] = r[i];//將待插入記錄存到監視哨中,臨時保存?
?? ??? ?j = i - 1; ?//i為初始待插入記錄位置,i-1為需要比較的記錄位置
?? ??? ?while(r[0] < r[j]){
?? ??? ??? ?r[j+1] = r[j];
?? ??? ??? ?j--;
?? ??? ?}?
?? ??? ?r[j+1] = r[0];
?? ?}
}?

優點:算法簡單,適用于記錄數目較少且基本有序
時間復雜度:O(n^2).

2.折半插入排序:類似于快排

示例代碼如下:
void BinSort(int r[], int length){
?? ?int i, x, j;
?? ?int low, high, mid;
?? ?for(i = 2;i <= length; i++){
?? ??? ?x = r[i];
?? ??? ?low = 1;
?? ??? ?high = i - 1;
?? ??? ?while(low < high){//Attention!不取等,書上是錯的?
?? ??? ??? ?mid = (low + high) / 2;
?? ??? ??? ?if(x < r[mid])
?? ??? ??? ??? ?high = mid - 1;
?? ??? ??? ?else
?? ??? ??? ??? ?low = mid + 1;
?? ??? ?}
?? ??? ?for(j = i - 1; j >= low; j--)
?? ??? ??? ?r[j+1] = r[j];
?? ??? ?r[low] = x;?
?? ?}
}?

時間復雜度:O(n^2).
需要比較的次數最大為其折半判定樹的深度log2(n)

3.希爾排序:排序結果,基本有序;又稱縮小增量排序;將關鍵字序列分為若干個子序列,對子序列插入排序

void f1(int r[], int length, int d){//d為這一輪子序列長度(增量)?
?? ?int i, j;
?? ?
?? ?for(i = 1+d; i <= length; i++){
?? ??? ?if(r[i] < r[i-d]){
?? ??? ??? ?r[0] = r[i];
?? ??? ??? ?for(j = i - d; j > 0 && r[j] > r[0]; j -= d){
?? ??? ??? ??? ?r[j + d] = r[j];
?? ??? ??? ?}//如果子序列后者的記錄關鍵字比前小,就復制前者到后者?
?? ??? ??? ?r[j + d] = r[0];//復制要交換的一個到適合的位置?
?? ??? ?}
?? ?}
}?
?
void f2(int r[], int length, int d[], int n){
?? ?for(i = 0; i < n; i++)//d[]為增量數組,n為該數組長度 d[n-1] == 1;?
?? ??? ?f1(r, length, d[i]);
}
時間復雜度:O(n^1.5).
算法不是穩定的 .


交換類排序:

1.冒泡排序(相鄰比序法):反復掃描記錄序列,依次交換逆序記錄的位置

void BubbleSort(int r[], int n){
?? ?bool change = true;
?? ?int i,j;
?? ?int x = 0;
?? ?for(i = 1; i < n && change; i++){
?? ??? ?change = false;
?? ??? ?for(j = 1; j <= n - i; j++){//一趟排序后最大的定了,在最后?
?? ??? ??? ?if(r[j]>r[j+1])
?? ??? ??? ?{
?? ??? ??? ??? ?x = r[j];
?? ??? ??? ??? ?r[j] = r[j+1];
?? ??? ??? ??? ?r[j+1] = x;
?? ??? ??? ??? ?change = true;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}?

//下面這種簡單些:上升法,不帶標記?
void BubbleSort(int r[], int n){
?? ?int i, j, k;
?? ?
?? ?for(i = 0; i < n; i++){
?? ??? ?for(j = n - 2; j >= i; j--){
?? ??? ??? ?if(r[j] > r[j+1]){
?? ??? ??? ??? ?k = r[j];
?? ??? ??? ??? ?r[j] = r[j+1];
?? ??? ??? ??? ?r[j+1] = k;
?? ??? ??? ?}
?? ??? ?}
?? ?}?
}

時間的復雜度:O(n^2).?

2.快排:原理:一次性可以消除多個逆序來減少耗費時間
找到一個劃分元,關鍵字小的移到前面,大的移到后面,遞歸在子序列中找出劃分元.直到子表長度小于等于1

void QKSort(int r[], int low. int high){
?? ?if(low < high){
?? ??? ?pos = QKPass(r, low, high);//再次快排
?? ??? ?QKSort(r, low, pos -1);
?? ??? ?QKSort(r, pos +1, high);?
?? ?}
}?

一趟快速排序算法:?
int QKPass(int r[], int low, int high){
?? ?int x;
?? ?while(low < high){
?? ??? ?while(low < high && r[high] > x)
?? ??? ??? ?high--;
?? ??? ?if(low < high){
?? ??? ??? ?r[low] = r[high];
?? ??? ??? ?low++;
?? ??? ?}?? ?
?? ??? ?while(low < high && r[low] < x)
?? ??? ??? ?low++;
?? ??? ?if(low < high){
?? ??? ??? ?r[high] = r[low];
?? ??? ??? ?high--;
?? ??? ?}?? ??? ?
?? ?}
?? ?r[low] = x;
?? ?return low;
}
時間復雜度:O(nlog2(n))?


選擇類排序:

1.簡單選擇排序:直接從數組中選擇最小的記錄和第一個記錄交換位置,循環

void SelectSort(int r[], int b){
?? ?int i, j, k;
?? ?int x;
?? ?
?? ?for(i = 1; i < n; i++){
?? ??? ?k = i;
?? ??? ?for(j = i+1; j <= n; j++){
?? ??? ??? ?if(r[j] < r[k])//選擇最小的記錄,得到在數組中的位置?
?? ??? ??? ??? ?k = j;
?? ??? ?}
?? ??? ?if(k != i){
?? ??? ??? ?x = r[i];
?? ??? ??? ?r[i] = r[k];
?? ??? ??? ?r[k] = x;
?? ??? ?}//交換位置?
?? ?}
}?
時間復雜度:O(n^2).

2.樹形選擇排序(錦標賽排序):與簡單選擇排序不同點是,占用空間更多,保留了之前的比較結果
每一個記錄看作葉子節點,兩兩比較,選出最小的為雙親,進一步遞歸向上,找出根,比較成功后,
該記錄對應的葉子節點置為無窮;
進一步兩兩比較重復上述過程,直到記錄全部輸出
時間復雜度:O(nlog2(n)).?


3.堆排序:排序過程中把向量中儲存的數據看作一顆完全二叉樹來進行操作
重建堆:
?? ?大堆,篩選最大的元素出去,然后最后的元素補根節點,調整堆使最大的元素在最上面?
void sift(Type r[], int k, int m){
?? ?//r[k...m]是以r[k]為根的完全二叉樹,調整r[k]使之滿足堆的性質?
?? ?int i, j, t, x;
?? ?
?? ?t = r[k];
?? ?x = r[k].key;?
?? ?i = k;
?? ?j = 2 * k;//j指向t的左孩子
?? ?bool finished = false;
?? ?
?? ?while(j <= m && !finished){
?? ??? ?if(j + 1 <= m && r[j].key < r[j+1].key){
?? ??? ??? ?j++;
?? ??? ?}//得到左右孩子中記錄關鍵字較大的位置坐標?
?? ??? ?if(x >= r[j].key) //如果滿足堆的性質,上面的比孩子大?
?? ??? ??? ?finished = true;
?? ??? ?else{
?? ??? ??? ?r[i] = r[j];
?? ??? ??? ?i = j;
?? ??? ??? ?j = 2 * i;
?? ??? ?}
?? ?}?
?? ?r[i] = t;
}?

建初堆:
void crt_heap(Type r[], int n)
{
?? ?//對r[]建立堆, n為數組長度
?? ?int i;
?? ?for(i = n / 2; i >= 1; i--)//i指向最后一個非葉子節點?
?? ??? ?sift(r, i, n);?
?}?

堆排序算法:
void HeapSort(Type r[], int n)
{
?? ?crt_heap(r, n);
?? ?
?? ?for(i = n; ?i>= 2 ;--i){
?? ??? ?r[0] = r[1];
?? ??? ?r[1] = r[i];
?? ??? ?r[i] = r[0];//最后一個元素和第一個元素交換位置,把最大的換到最后面去,以此達到升序排列x?
?? ??? ?sift(r, 1, i-1);
?? ?}
?}?

時間復雜度:O(nlog2(n)).
算法是不穩定的, 空間復雜度O(1) .

歸并類排序:將兩個或兩個以上的有序表合并成一個表

兩個有序子序列合并算法:?
void Merge(Type r1[], int low, int mid, int high, Type r2[])
{
?? ?//r1[low...mid]和r1[mid+1,..high]分別按照關鍵字有序排列 ,合并存放在r2[]中
?? ?int i, j, k;
?? ?i = low;
?? ?j = mid + 1;
?? ?k = low;
?? ?
?? ?while(i <= mid && j <= high){
?? ??? ?if(r1[i].key <= r1[j].key)
?? ??? ??? ?r2[k++] = r[i++];
?? ??? ?else
?? ??? ??? ?r2[k++] = r[j++];
?? ?}
?? ?while(i <= mid){
?? ??? ?r2[k++] = r1[i++];
?? ?}
?? ?while(j <= high){
?? ??? ?r2[k++] = r1[j++];
?? ?}
?}?

2-路歸并排序的遞歸算法:
void MSort(Type r1[], int low, int high, Type r3[])
{
?? ?//r1[low...high]排序后放在r3[low...high] 中, r2為輔助空間
?? ?Type *r2;
?? ?int mid;
?? ?
?? ?
?? ?r2 = (Type *)malloc(sizeof(Type) * (high - low + 1));
?? ?if(low == high) r3[low] = r1[low];
?? ?//這個是遞歸最終退出條件
?? ?else{//r1前半段放到r2前半段中,同理對于后半段,再將r2合并排序?
?? ??? ?mid = (low + high) / 2;
?? ??? ?MSort(r1, low, mid, r2);
?? ??? ?MSort(r1, mid + 1, high, r2);?
?? ??? ?Merge(r2, low, mid, high, r3);
?? ?}?
?? ?free(r2);
?}?

調用:
void MergeSort(Type r[], int n){
?? ?MSort(r, 1, n, r);
}?

分配類排序:核心是分配和收集,利用關鍵字的優先級進行排序的思想?

高位優先排序:比如橋牌,先比較花色在比較面值;比如學號,比較級,院,班,號;

低位優先排序: 鏈式基數排序
思想:基于"分配"和"收集"的操作, 將單關鍵字轉化為多關鍵字排序
將鏈表作為存儲結構, 待排序記錄以指針相連,構成鏈表;
分配:按照關鍵字取值分配記錄到鏈隊列相應隊列中,每個隊列關鍵字取值相同
收集:按照關鍵字大小,從小到大,將隊列首尾相接連接成一個鏈表;
重復上述步驟..

定義:
//待排序記錄結點
typedef struct node{
?? ?int data;//比如說一個三位數?
?? ?struct node *next;
}TNode;

//隊列首尾指針
typedef struct{
?? ?node *front;
?? ?node *rear;
}TPointer;?


//根據數組R[](已經存在元素),構建帶頭結點待排序記錄鏈表
TNode *create_list(int R[], int n){
?? ?
?? ?TNode *p, *ph;
?? ?//p為每一個存了記錄的結點, ph為頭結點
?? ?ph = (TNode *)malloc(sizeof(TNode));
?? ?if(!ph) return NULL;?
?? ?ph->next = NULL;
?? ?
?? ?int i;
?? ?for(i = 0; i < n; i++){
?? ??? ?p = (TNode *)malloc(sizeof(TNode));
?? ??? ?if(!p) return NULL;
?? ??? ?
?? ??? ?p->data = R[i];
?? ??? ?//頭插法插入?
?? ??? ?p->next = ph->next;
?? ??? ?ph->next = p;
?? ?}
?? ?return ph;//返回頭結點?
}?

#define N 10
//分配算法,對三位數的記錄序列按照關鍵字低位排序分配?
void dispatch(TNode *ph, TPointer *Q, int d){?? ?
?? ?//ph存記錄, Q隊列:存指針,d根據關鍵字到那一趟取值不同?? ?
?? ?TNode *p = NULL;//作為輔助空間拆分ph?
?? ?int i, idx;
?? ?
?? ??
?? ?//初始化Q
?? ?for(i = 0; i < N; i++){
?? ??? ?Q[i].front = NULL;
?? ??? ?Q[i].rear = NULL;?
?? ?}?
?? ?
?? ?p = ph->next;
?? ?if(p){
?? ??? ?ph->next = p->next;
?? ??? ?p->next = NULL;
?? ?}//第一個記錄被單獨拆到p里面
?? ?
?? ?while(p){
?? ??? ?idx = p->data;
?? ??? ?for(i = 0; i < d; i++)
?? ??? ??? ?idx = idx / N;
?? ??? ?//第一趟排序,d = 0
?? ??? ?idx = idx % N;
?? ??? ?
?? ??? ?//根據關鍵字分配到Q中
?? ??? ?if(Q[idx].front = NULL){
?? ??? ??? ?Q[idx].front = p;
?? ??? ??? ?Q[idx].rear = p;
?? ??? ?}?
?? ??? ?else{//尾插法?
?? ??? ??? ?Q[idx].rear->next = p;
?? ??? ??? ?Q[idx].rear = p;
?? ??? ?}
?? ??? ?p = ph->next;
?? ??? ?if(p){//拆,直到拆完?
?? ??? ??? ?ph->next = p->next;
?? ??? ??? ?p->next = NULL;
?? ??? ?}
?? ?}?
}

void collect(TNode *ph, TPointer *Q){
?? ?TNode *p;
?? ?int i;
?? ?//ph為頭結點,最終可以傳出去
?? ?
?? ?for(i = 0; !Q[i].front; i++)
?? ??? ?;//找出第一個隊列中非空結點
?? ?ph->next = Q[i].front;
?? ?p = Q[i].rear;
?? ?i++;
?? ?
?? ?for(; i < N; i++){
?? ??? ?if(Q[i].front){
?? ??? ??? ?p->next = Q[i].front;
?? ??? ??? ?p = Q[i].rear;//注意的是Q[i]內部的結點是連接好的?
?? ??? ?}
?? ?}
?? ?p->next = NULL;
}?

void list_sort(int *R, int n){
?? ?int i;
?? ?TNode *ph, *p;
?? ?TPointer Q[N];
?? ?int m = max(R, n);//最大關鍵字?
?? ?
?? ?ph = create_list(R, n);
?? ?
?? ?for(i = 0; m; i++, m /= N){
?? ??? ?dispatch(ph, Q, i);
?? ??? ?collect(ph, Q);
?? ?}
?? ?for(i = 0, p = ph->next; p; p = p->next){
?? ??? ?R[i] = p->data;//復制到數組最終輸出?
?? ?}
?? ?free(ph);
}

總結

以上是生活随笔為你收集整理的第三个一千行+500行总结-数据结构C复习--知识点总结3--七到九章的全部內容,希望文章能夠幫你解決所遇到的問題。

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

大色综合色综合网站 | 欧美zoozzooz性欧美 | 爽爽影院免费观看 | 中文字幕无码视频专区 | 国产精品久久国产三级国 | 人妻夜夜爽天天爽三区 | 亚洲国产欧美国产综合一区 | 精品无码国产自产拍在线观看蜜 | √8天堂资源地址中文在线 | 初尝人妻少妇中文字幕 | 国产成人人人97超碰超爽8 | 久久久久久久女国产乱让韩 | 亚洲欧洲日本综合aⅴ在线 | 日韩人妻无码一区二区三区久久99 | 伊人久久大香线焦av综合影院 | 欧美刺激性大交 | 久久国产精品二国产精品 | 亚洲色欲久久久综合网东京热 | 日韩少妇白浆无码系列 | 无码国模国产在线观看 | 少妇人妻偷人精品无码视频 | 熟妇人妻无码xxx视频 | 亚洲综合另类小说色区 | 岛国片人妻三上悠亚 | 在线欧美精品一区二区三区 | 真人与拘做受免费视频一 | 性欧美熟妇videofreesex | 中文字幕av无码一区二区三区电影 | 最新国产乱人伦偷精品免费网站 | 亚洲中文字幕久久无码 | 欧美人与善在线com | 久久久久久久久888 | 国产精品国产三级国产专播 | 国产亚洲欧美日韩亚洲中文色 | 国产精品久久久久久久影院 | 亚洲日韩中文字幕在线播放 | 牲欲强的熟妇农村老妇女 | 国产超碰人人爽人人做人人添 | 东京热无码av男人的天堂 | 国产精品手机免费 | 国产精品久久久久无码av色戒 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国语自产偷拍精品视频偷 | 日本乱偷人妻中文字幕 | 日韩精品无码一区二区中文字幕 | 精品人人妻人人澡人人爽人人 | 永久黄网站色视频免费直播 | 鲁鲁鲁爽爽爽在线视频观看 | 18禁黄网站男男禁片免费观看 | 高潮喷水的毛片 | 日本精品少妇一区二区三区 | 嫩b人妻精品一区二区三区 | 亚洲精品午夜无码电影网 | 国产精品无码一区二区桃花视频 | 激情内射亚州一区二区三区爱妻 | 欧美丰满熟妇xxxx | 亚洲中文字幕在线观看 | 夫妻免费无码v看片 | 东京热男人av天堂 | 亚洲 a v无 码免 费 成 人 a v | 97夜夜澡人人双人人人喊 | 亚洲熟熟妇xxxx | 国产精品亚洲а∨无码播放麻豆 | 妺妺窝人体色www在线小说 | 乱码av麻豆丝袜熟女系列 | 国产激情综合五月久久 | 亚洲欧美综合区丁香五月小说 | 亚洲综合在线一区二区三区 | 国产亚洲精品久久久久久大师 | 国产超碰人人爽人人做人人添 | 精品 日韩 国产 欧美 视频 | 夜精品a片一区二区三区无码白浆 | 国产97色在线 | 免 | 少妇性荡欲午夜性开放视频剧场 | 国产成人精品优优av | 黑人巨大精品欧美黑寡妇 | 中文字幕+乱码+中文字幕一区 | 天堂а√在线地址中文在线 | 久久99精品国产麻豆蜜芽 | 成在人线av无码免费 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产人成高清在线视频99最全资源 | 装睡被陌生人摸出水好爽 | 好男人社区资源 | 99久久精品午夜一区二区 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产成人无码av一区二区 | 日本高清一区免费中文视频 | 久久综合九色综合欧美狠狠 | 日韩av无码中文无码电影 | 秋霞特色aa大片 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲爆乳无码专区 | 国产亚洲tv在线观看 | 精品国产一区二区三区四区 | 狠狠躁日日躁夜夜躁2020 | 俺去俺来也在线www色官网 | 18无码粉嫩小泬无套在线观看 | 成人一区二区免费视频 | 国产乱人伦av在线无码 | 国产亚洲精品久久久闺蜜 | 亚洲精品一区二区三区四区五区 | 又黄又爽又色的视频 | 国产精品久久久 | 色综合久久网 | 少妇人妻偷人精品无码视频 | 欧美 日韩 亚洲 在线 | 亚洲精品国产品国语在线观看 | 久久久久免费看成人影片 | 欧美日韩精品 | 少妇高潮一区二区三区99 | 国产亚洲精品久久久闺蜜 | 国产激情精品一区二区三区 | 内射欧美老妇wbb | 国产精品美女久久久久av爽李琼 | 国产又粗又硬又大爽黄老大爷视 | 久久亚洲中文字幕精品一区 | 国产精品亚洲一区二区三区喷水 | 乱码av麻豆丝袜熟女系列 | 日本爽爽爽爽爽爽在线观看免 | 久9re热视频这里只有精品 | 亚洲欧美精品伊人久久 | 少妇人妻av毛片在线看 | 无套内谢的新婚少妇国语播放 | 久久精品视频在线看15 | 久久人人爽人人人人片 | 综合人妻久久一区二区精品 | 亚洲中文字幕无码中文字在线 | 久久99久久99精品中文字幕 | 国产精品国产自线拍免费软件 | 日本熟妇人妻xxxxx人hd | 国产午夜福利亚洲第一 | 久久天天躁狠狠躁夜夜免费观看 | 国产香蕉尹人视频在线 | 久久久精品456亚洲影院 | www国产亚洲精品久久网站 | 日韩无套无码精品 | 少妇邻居内射在线 | 国产午夜无码视频在线观看 | 成人欧美一区二区三区 | 激情内射亚州一区二区三区爱妻 | 成人欧美一区二区三区黑人免费 | 精品国偷自产在线视频 | 亚洲国产精品一区二区美利坚 | 男女下面进入的视频免费午夜 | 国产xxx69麻豆国语对白 | 天天拍夜夜添久久精品 | 男人和女人高潮免费网站 | 亚洲熟女一区二区三区 | 久久久久久国产精品无码下载 | 免费人成在线视频无码 | 欧美人与牲动交xxxx | 欧洲熟妇色 欧美 | 少妇高潮一区二区三区99 | 亚洲狠狠婷婷综合久久 | 国产三级久久久精品麻豆三级 | 国产精品久久久久久亚洲影视内衣 | 成年美女黄网站色大免费全看 | 国产精品国产三级国产专播 | 色综合久久中文娱乐网 | 亚洲日韩精品欧美一区二区 | 丝袜美腿亚洲一区二区 | 丰满妇女强制高潮18xxxx | 性色欲情网站iwww九文堂 | 无码人妻少妇伦在线电影 | 欧洲vodafone精品性 | 欧美性猛交内射兽交老熟妇 | www国产亚洲精品久久久日本 | 亚洲爆乳大丰满无码专区 | 丝袜美腿亚洲一区二区 | 欧美性色19p | 亚洲成熟女人毛毛耸耸多 | 久久久久久国产精品无码下载 | 欧洲精品码一区二区三区免费看 | 波多野结衣av在线观看 | 未满小14洗澡无码视频网站 | 国产成人精品久久亚洲高清不卡 | 国产精品爱久久久久久久 | 久久天天躁夜夜躁狠狠 | 日本一区二区三区免费播放 | 狠狠色丁香久久婷婷综合五月 | 无码人妻av免费一区二区三区 | 亚洲人成人无码网www国产 | 男女下面进入的视频免费午夜 | 久久无码人妻影院 | 内射老妇bbwx0c0ck | 亚洲区欧美区综合区自拍区 | 日本在线高清不卡免费播放 | 久久精品国产精品国产精品污 | 精品国产国产综合精品 | 3d动漫精品啪啪一区二区中 | 永久免费观看美女裸体的网站 | 国产成人一区二区三区别 | 黄网在线观看免费网站 | 日韩亚洲欧美中文高清在线 | 少妇被黑人到高潮喷出白浆 | 精品无人国产偷自产在线 | 国产suv精品一区二区五 | 亚洲人成无码网www | 国产乡下妇女做爰 | 曰本女人与公拘交酡免费视频 | 日韩av激情在线观看 | 久久综合九色综合欧美狠狠 | 欧美xxxx黑人又粗又长 | 亚洲爆乳精品无码一区二区三区 | 精品偷自拍另类在线观看 | 中文字幕日韩精品一区二区三区 | 亚洲欧美色中文字幕在线 | а√天堂www在线天堂小说 | 国语自产偷拍精品视频偷 | 欧美亚洲日韩国产人成在线播放 | 国产三级精品三级男人的天堂 | 无码国模国产在线观看 | 爱做久久久久久 | 久久99精品国产麻豆 | 未满小14洗澡无码视频网站 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产精品视频免费播放 | av人摸人人人澡人人超碰下载 | 99国产欧美久久久精品 | 一本久道久久综合婷婷五月 | 纯爱无遮挡h肉动漫在线播放 | www一区二区www免费 | 中文精品无码中文字幕无码专区 | 美女毛片一区二区三区四区 | 精品久久久中文字幕人妻 | 国产麻豆精品精东影业av网站 | 亚洲精品国产品国语在线观看 | 97人妻精品一区二区三区 | 婷婷丁香六月激情综合啪 | 欧美亚洲日韩国产人成在线播放 | 久久久久99精品成人片 | 亚洲自偷精品视频自拍 | 成人欧美一区二区三区 | 性做久久久久久久免费看 | 精品国产一区二区三区av 性色 | 最新国产乱人伦偷精品免费网站 | 黑人玩弄人妻中文在线 | 国精产品一品二品国精品69xx | 在线播放免费人成毛片乱码 | 激情综合激情五月俺也去 | 精品偷拍一区二区三区在线看 | 天天躁夜夜躁狠狠是什么心态 | 特级做a爰片毛片免费69 | 国产精品无码mv在线观看 | 日产精品高潮呻吟av久久 | 亚洲精品无码国产 | 欧美变态另类xxxx | 国产成人无码午夜视频在线观看 | 国产精品亚洲专区无码不卡 | aa片在线观看视频在线播放 | аⅴ资源天堂资源库在线 | 久久久精品成人免费观看 | 婷婷色婷婷开心五月四房播播 | 欧美激情综合亚洲一二区 | 少妇厨房愉情理9仑片视频 | 暴力强奷在线播放无码 | 精品久久久久久人妻无码中文字幕 | 亚洲区欧美区综合区自拍区 | 99久久婷婷国产综合精品青草免费 | 无码任你躁久久久久久久 | 动漫av一区二区在线观看 | 国产xxx69麻豆国语对白 | 日本欧美一区二区三区乱码 | 久久久亚洲欧洲日产国码αv | 日韩av激情在线观看 | 曰韩无码二三区中文字幕 | 中文字幕无码av波多野吉衣 | 亚洲熟熟妇xxxx | 狠狠色欧美亚洲狠狠色www | 牲欲强的熟妇农村老妇女 | 国产成人综合在线女婷五月99播放 | 成年美女黄网站色大免费全看 | 国内综合精品午夜久久资源 | 天天做天天爱天天爽综合网 | 综合激情五月综合激情五月激情1 | 亚洲精品久久久久久久久久久 | 日本一本二本三区免费 | 亚洲中文字幕乱码av波多ji | 国产精品va在线播放 | 丝袜美腿亚洲一区二区 | 国产精品久久久av久久久 | 亚洲无人区一区二区三区 | 国产乱子伦视频在线播放 | 强辱丰满人妻hd中文字幕 | 青草青草久热国产精品 | 青草青草久热国产精品 | 99久久精品日本一区二区免费 | 亚洲天堂2017无码中文 | 中国大陆精品视频xxxx | 精品日本一区二区三区在线观看 | 亚洲天堂2017无码 | 亚洲乱码中文字幕在线 | 一二三四社区在线中文视频 | 2019nv天堂香蕉在线观看 | 又紧又大又爽精品一区二区 | 久久综合狠狠综合久久综合88 | 波多野结衣av在线观看 | 国产亚洲精品久久久久久国模美 | 四虎永久在线精品免费网址 | 国产办公室秘书无码精品99 | 无码午夜成人1000部免费视频 | 中文无码伦av中文字幕 | 色综合久久网 | 精品国产乱码久久久久乱码 | 一本久道高清无码视频 | 亚洲小说春色综合另类 | 男女作爱免费网站 | 成人亚洲精品久久久久 | 亚洲a无码综合a国产av中文 | 国产又爽又黄又刺激的视频 | 国内精品人妻无码久久久影院 | 无码人妻精品一区二区三区不卡 | 撕开奶罩揉吮奶头视频 | 玩弄中年熟妇正在播放 | 高潮喷水的毛片 | 亚洲成色www久久网站 | 国产欧美熟妇另类久久久 | 欧美激情一区二区三区成人 | 一本色道婷婷久久欧美 | 1000部夫妻午夜免费 | 国产福利视频一区二区 | 美女黄网站人色视频免费国产 | 国产精品理论片在线观看 | 久久久久国色av免费观看性色 | 亚洲成色在线综合网站 | 97精品国产97久久久久久免费 | 国产精品自产拍在线观看 | 中文字幕精品av一区二区五区 | 精品乱码久久久久久久 | 久久久久99精品国产片 | 久久亚洲精品成人无码 | 成人影院yy111111在线观看 | 呦交小u女精品视频 | 国产精品无码成人午夜电影 | 性生交大片免费看女人按摩摩 | 俺去俺来也在线www色官网 | 自拍偷自拍亚洲精品10p | 国产亚洲精品久久久闺蜜 | 亚洲一区二区三区国产精华液 | 亚洲成熟女人毛毛耸耸多 | 欧美 日韩 人妻 高清 中文 | 性欧美牲交xxxxx视频 | 亚欧洲精品在线视频免费观看 | 欧美freesex黑人又粗又大 | 女人和拘做爰正片视频 | 久久午夜无码鲁丝片午夜精品 | 国产另类ts人妖一区二区 | 99久久99久久免费精品蜜桃 | 亚洲精品一区二区三区在线 | 亚洲熟女一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 一本久道久久综合狠狠爱 | 亚洲人成网站免费播放 | 欧美一区二区三区视频在线观看 | 乱中年女人伦av三区 | 日韩人妻少妇一区二区三区 | 欧美熟妇另类久久久久久不卡 | 亚洲国精产品一二二线 | 国内精品人妻无码久久久影院蜜桃 | 色婷婷久久一区二区三区麻豆 | 曰韩少妇内射免费播放 | 国产午夜无码精品免费看 | 在线а√天堂中文官网 | 狠狠躁日日躁夜夜躁2020 | 国产精品a成v人在线播放 | 欧美激情综合亚洲一二区 | 免费人成在线观看网站 | 男人的天堂2018无码 | 精品欧洲av无码一区二区三区 | 亚洲精品国产精品乱码视色 | 人妻插b视频一区二区三区 | 国产成人无码区免费内射一片色欲 | 中文字幕 亚洲精品 第1页 | 色狠狠av一区二区三区 | 扒开双腿疯狂进出爽爽爽视频 | 狠狠色色综合网站 | 国产精品久久久久无码av色戒 | 国产艳妇av在线观看果冻传媒 | 国产精品亚洲专区无码不卡 | 亚洲国产成人av在线观看 | 成人无码视频免费播放 | 国产乱码精品一品二品 | 国产又爽又猛又粗的视频a片 | 国产av人人夜夜澡人人爽麻豆 | 国产高潮视频在线观看 | 亚洲aⅴ无码成人网站国产app | 最近的中文字幕在线看视频 | 日本熟妇浓毛 | 亚洲日韩av一区二区三区四区 | 欧美第一黄网免费网站 | 国产激情无码一区二区app | 久久无码专区国产精品s | 在线观看免费人成视频 | 国产精品成人av在线观看 | 欧美 日韩 人妻 高清 中文 | 奇米影视7777久久精品 | 亚洲啪av永久无码精品放毛片 | 亚洲gv猛男gv无码男同 | 骚片av蜜桃精品一区 | 亚洲无人区午夜福利码高清完整版 | 亚洲人成网站免费播放 | 成人影院yy111111在线观看 | 少妇的肉体aa片免费 | 亚洲人成网站在线播放942 | 欧美怡红院免费全部视频 | 伊人久久大香线蕉午夜 | 国产精品人人爽人人做我的可爱 | 强伦人妻一区二区三区视频18 | 国产肉丝袜在线观看 | 美女扒开屁股让男人桶 | 自拍偷自拍亚洲精品被多人伦好爽 | 狠狠色丁香久久婷婷综合五月 | 97资源共享在线视频 | 99久久人妻精品免费二区 | 久久精品人妻少妇一区二区三区 | 日本一卡2卡3卡四卡精品网站 | 国产真实乱对白精彩久久 | 国产精品爱久久久久久久 | 国产精品久久久午夜夜伦鲁鲁 | 色婷婷av一区二区三区之红樱桃 | 性做久久久久久久免费看 | 天天av天天av天天透 | 一个人看的www免费视频在线观看 | 97人妻精品一区二区三区 | 黑人玩弄人妻中文在线 | 国内揄拍国内精品人妻 | 俄罗斯老熟妇色xxxx | 亚洲精品一区三区三区在线观看 | 妺妺窝人体色www在线小说 | 久久午夜夜伦鲁鲁片无码免费 | 一区二区传媒有限公司 | 欧美日韩一区二区综合 | 亚洲 a v无 码免 费 成 人 a v | 桃花色综合影院 | 日韩人妻系列无码专区 | 国产卡一卡二卡三 | 黑人大群体交免费视频 | 最近的中文字幕在线看视频 | 日本xxxx色视频在线观看免费 | 在线播放亚洲第一字幕 | 97夜夜澡人人双人人人喊 | 97色伦图片97综合影院 | 在线播放亚洲第一字幕 | 宝宝好涨水快流出来免费视频 | 无码国产乱人伦偷精品视频 | 亚洲码国产精品高潮在线 | 亚洲国产成人a精品不卡在线 | 日本一本二本三区免费 | 国产精品美女久久久网av | 欧美人与善在线com | 久久综合激激的五月天 | 在线精品国产一区二区三区 | 一本无码人妻在中文字幕免费 | 综合网日日天干夜夜久久 | 久精品国产欧美亚洲色aⅴ大片 | 女人高潮内射99精品 | 亚洲成色www久久网站 | 久久精品人人做人人综合试看 | 小sao货水好多真紧h无码视频 | 精品偷自拍另类在线观看 | 亚洲成色www久久网站 | 欧美丰满老熟妇xxxxx性 | 久久国产精品_国产精品 | 在线a亚洲视频播放在线观看 | 日本爽爽爽爽爽爽在线观看免 | 中文字幕亚洲情99在线 | 国产肉丝袜在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美丰满少妇xxxx性 | 在线观看国产午夜福利片 | 丰满人妻翻云覆雨呻吟视频 | 国产熟女一区二区三区四区五区 | 精品国精品国产自在久国产87 | 国产色视频一区二区三区 | 亚洲成av人影院在线观看 | 成人无码精品1区2区3区免费看 | 丁香啪啪综合成人亚洲 | 在线精品国产一区二区三区 | 欧美人与禽zoz0性伦交 | 丰满少妇弄高潮了www | 日本护士毛茸茸高潮 | 欧美熟妇另类久久久久久不卡 | 亚洲精品国产品国语在线观看 | 狠狠色丁香久久婷婷综合五月 | 99国产精品白浆在线观看免费 | 日韩 欧美 动漫 国产 制服 | 久久午夜夜伦鲁鲁片无码免费 | 中文字幕无线码 | 一二三四在线观看免费视频 | 18精品久久久无码午夜福利 | 无码人妻精品一区二区三区不卡 | 中文字幕无码免费久久9一区9 | 亚洲娇小与黑人巨大交 | 国产香蕉尹人综合在线观看 | 十八禁视频网站在线观看 | 亚洲а∨天堂久久精品2021 | 国产精品多人p群无码 | 成熟女人特级毛片www免费 | 亚洲色欲色欲欲www在线 | 啦啦啦www在线观看免费视频 | 国产精品内射视频免费 | 成熟人妻av无码专区 | 亚洲综合色区中文字幕 | 妺妺窝人体色www婷婷 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 狠狠色色综合网站 | 伊人久久大香线焦av综合影院 | 97色伦图片97综合影院 | 综合激情五月综合激情五月激情1 | 成人无码视频在线观看网站 | 日本熟妇乱子伦xxxx | 欧美性生交活xxxxxdddd | 高清国产亚洲精品自在久久 | 精品午夜福利在线观看 | 国内老熟妇对白xxxxhd | 精品人妻av区 | 人人爽人人澡人人人妻 | 亚洲精品一区二区三区大桥未久 | 亚洲爆乳精品无码一区二区三区 | 成人无码视频在线观看网站 | 亚洲成a人片在线观看日本 | 在线观看国产午夜福利片 | 蜜桃av抽搐高潮一区二区 | 色综合久久久无码网中文 | 亚洲日韩av片在线观看 | 国产三级久久久精品麻豆三级 | 一个人看的www免费视频在线观看 | 人妻中文无码久热丝袜 | 国产亲子乱弄免费视频 | 国产9 9在线 | 中文 | 精品国产一区二区三区av 性色 | 成人精品视频一区二区 | 午夜无码区在线观看 | 成人精品视频一区二区 | 大肉大捧一进一出视频出来呀 | 无码午夜成人1000部免费视频 | 18无码粉嫩小泬无套在线观看 | 久久久av男人的天堂 | 正在播放老肥熟妇露脸 | 无码人中文字幕 | 欧美丰满老熟妇xxxxx性 | 亚洲成色www久久网站 | 88国产精品欧美一区二区三区 | 国产色在线 | 国产 | 国产深夜福利视频在线 | 中文无码精品a∨在线观看不卡 | 国内精品久久毛片一区二区 | 日本精品久久久久中文字幕 | 婷婷丁香五月天综合东京热 | 精品偷自拍另类在线观看 | 狂野欧美性猛xxxx乱大交 | 成人精品视频一区二区三区尤物 | 一本大道久久东京热无码av | 国产人妻精品一区二区三区 | 亚洲码国产精品高潮在线 | 国产后入清纯学生妹 | 久久久久久久久888 | 亚洲国产精品久久久久久 | 2019nv天堂香蕉在线观看 | 野外少妇愉情中文字幕 | 人妻无码αv中文字幕久久琪琪布 | 国产内射爽爽大片视频社区在线 | 99久久久无码国产精品免费 | 东京一本一道一二三区 | 欧美一区二区三区视频在线观看 | 国产明星裸体无码xxxx视频 | 欧美猛少妇色xxxxx | 扒开双腿疯狂进出爽爽爽视频 | 欧美熟妇另类久久久久久不卡 | 亚拍精品一区二区三区探花 | 亚洲理论电影在线观看 | 亚洲色欲久久久综合网东京热 | 久久国语露脸国产精品电影 | 国内少妇偷人精品视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 欧美日韩一区二区三区自拍 | 国语自产偷拍精品视频偷 | 人妻天天爽夜夜爽一区二区 | 无码毛片视频一区二区本码 | 大乳丰满人妻中文字幕日本 | 日本va欧美va欧美va精品 | 中文字幕无线码免费人妻 | 欧美 丝袜 自拍 制服 另类 | 亚洲va中文字幕无码久久不卡 | 妺妺窝人体色www在线小说 | 自拍偷自拍亚洲精品10p | 亚洲综合在线一区二区三区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 成年女人永久免费看片 | 牛和人交xxxx欧美 | 亚洲精品国产第一综合99久久 | 中文字幕乱妇无码av在线 | 又粗又大又硬毛片免费看 | 亚洲精品午夜国产va久久成人 | 美女张开腿让人桶 | а√天堂www在线天堂小说 | 日韩亚洲欧美中文高清在线 | 国产九九九九九九九a片 | 性生交大片免费看女人按摩摩 | 成在人线av无码免费 | 99久久精品午夜一区二区 | 欧美丰满老熟妇xxxxx性 | 激情综合激情五月俺也去 | 四虎国产精品一区二区 | 国产av无码专区亚洲a∨毛片 | 奇米影视7777久久精品人人爽 | 日韩人妻系列无码专区 | 日本乱偷人妻中文字幕 | 澳门永久av免费网站 | 人人妻人人澡人人爽人人精品浪潮 | 99精品国产综合久久久久五月天 | 爱做久久久久久 | 国产高清不卡无码视频 | 亚洲一区二区三区播放 | 欧美日本日韩 | 中文久久乱码一区二区 | 欧美成人家庭影院 | 高中生自慰www网站 | 狠狠cao日日穞夜夜穞av | 无码人妻丰满熟妇区毛片18 | 久久99久久99精品中文字幕 | 国产精品毛多多水多 | 日本成熟视频免费视频 | av香港经典三级级 在线 | 亚洲自偷自拍另类第1页 | 精品久久久久久人妻无码中文字幕 | 欧美人与物videos另类 | 亚洲综合伊人久久大杳蕉 | 午夜肉伦伦影院 | 国产成人无码午夜视频在线观看 | 三级4级全黄60分钟 | 在线a亚洲视频播放在线观看 | 成人欧美一区二区三区 | 大地资源网第二页免费观看 | 老熟女乱子伦 | 鲁大师影院在线观看 | 亚洲成a人片在线观看无码 | 亚洲a无码综合a国产av中文 | 欧美国产亚洲日韩在线二区 | 国产无套粉嫩白浆在线 | 欧美精品免费观看二区 | 亚洲 日韩 欧美 成人 在线观看 | 扒开双腿疯狂进出爽爽爽视频 | 天堂亚洲2017在线观看 | 领导边摸边吃奶边做爽在线观看 | 国产激情综合五月久久 | 亚洲の无码国产の无码影院 | 天堂久久天堂av色综合 | 小泽玛莉亚一区二区视频在线 | 乱码午夜-极国产极内射 | 久久久久久久人妻无码中文字幕爆 | 亚洲码国产精品高潮在线 | 亚洲一区二区观看播放 | 日本一区二区三区免费高清 | 国产熟妇高潮叫床视频播放 | 成人亚洲精品久久久久 | 性啪啪chinese东北女人 | 香港三级日本三级妇三级 | 欧美成人午夜精品久久久 | 亚洲春色在线视频 | 蜜桃视频插满18在线观看 | 精品久久综合1区2区3区激情 | 老司机亚洲精品影院无码 | 亚洲 a v无 码免 费 成 人 a v | 亚洲中文字幕va福利 | 一本久久a久久精品vr综合 | 噜噜噜亚洲色成人网站 | 久久久久人妻一区精品色欧美 | 精品久久久无码人妻字幂 | yw尤物av无码国产在线观看 | 又湿又紧又大又爽a视频国产 | 丝袜人妻一区二区三区 | 亚洲最大成人网站 | 男人的天堂av网站 | 在线天堂新版最新版在线8 | 黑森林福利视频导航 | 国产97色在线 | 免 | 国产高清不卡无码视频 | 欧美真人作爱免费视频 | 牲欲强的熟妇农村老妇女视频 | 少妇久久久久久人妻无码 | 国产疯狂伦交大片 | 妺妺窝人体色www婷婷 | 欧美性猛交内射兽交老熟妇 | 久久综合久久自在自线精品自 | 亚洲色欲色欲天天天www | 国产精品爱久久久久久久 | 红桃av一区二区三区在线无码av | 又大又硬又爽免费视频 | 亚洲 日韩 欧美 成人 在线观看 | 在线播放无码字幕亚洲 | 丰满少妇熟乱xxxxx视频 | 午夜无码人妻av大片色欲 | 少妇高潮喷潮久久久影院 | 国产黑色丝袜在线播放 | 西西人体www44rt大胆高清 | 成人无码精品1区2区3区免费看 | 正在播放老肥熟妇露脸 | 无码午夜成人1000部免费视频 | av在线亚洲欧洲日产一区二区 | 丰满人妻精品国产99aⅴ | 窝窝午夜理论片影院 | 丰满人妻被黑人猛烈进入 | 性做久久久久久久久 | 久久99精品国产.久久久久 | 亚洲国产欧美国产综合一区 | 国产精品久久久午夜夜伦鲁鲁 | 久久精品国产大片免费观看 | 国产一区二区三区四区五区加勒比 | 精品久久久中文字幕人妻 | 俺去俺来也www色官网 | 久久久中文字幕日本无吗 | 国产口爆吞精在线视频 | 精品人妻人人做人人爽夜夜爽 | 一区二区三区乱码在线 | 欧洲 | 粉嫩少妇内射浓精videos | 性做久久久久久久久 | 亚洲色欲色欲天天天www | 亚洲精品一区三区三区在线观看 | 九九在线中文字幕无码 | 亚洲中文字幕乱码av波多ji | 无码av免费一区二区三区试看 | 丰满人妻翻云覆雨呻吟视频 | 亚洲国产精华液网站w | 国产性生大片免费观看性 | 人人超人人超碰超国产 | 少妇性l交大片欧洲热妇乱xxx | 婷婷五月综合缴情在线视频 | 特大黑人娇小亚洲女 | 色综合久久中文娱乐网 | 国产无遮挡又黄又爽免费视频 | 丁香啪啪综合成人亚洲 | 国产精品久久福利网站 | 日日躁夜夜躁狠狠躁 | 7777奇米四色成人眼影 | 少女韩国电视剧在线观看完整 | 日本一区二区三区免费播放 | 亚洲国产高清在线观看视频 | 国产精品国产自线拍免费软件 | 在线欧美精品一区二区三区 | 97se亚洲精品一区 | 久久久精品国产sm最大网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品国产三级国产专播 | 国产精品久久久久久无码 | 久久无码专区国产精品s | 国产极品美女高潮无套在线观看 | 强伦人妻一区二区三区视频18 | 欧美日本日韩 | 亚洲自偷精品视频自拍 | 97资源共享在线视频 | 久久精品人妻少妇一区二区三区 | 欧美大屁股xxxxhd黑色 | 色婷婷香蕉在线一区二区 | 国内精品人妻无码久久久影院蜜桃 | 精品国产麻豆免费人成网站 | 丰满少妇高潮惨叫视频 | 午夜精品久久久内射近拍高清 | 无码人妻黑人中文字幕 | 国内精品人妻无码久久久影院蜜桃 | 99在线 | 亚洲 | 久久久中文字幕日本无吗 | 国产人妻久久精品二区三区老狼 | 我要看www免费看插插视频 | 欧美第一黄网免费网站 | 性生交大片免费看女人按摩摩 | 久久精品99久久香蕉国产色戒 | 人妻少妇被猛烈进入中文字幕 | 亚洲欧美精品伊人久久 | 亚洲精品鲁一鲁一区二区三区 | 小鲜肉自慰网站xnxx | 亚洲啪av永久无码精品放毛片 | 国产亚洲精品久久久久久久 | 亚洲日本一区二区三区在线 | 欧美丰满老熟妇xxxxx性 | www一区二区www免费 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲 另类 在线 欧美 制服 | 荫蒂添的好舒服视频囗交 | 亚洲成av人在线观看网址 | 久久精品国产亚洲精品 | 最新国产乱人伦偷精品免费网站 | 欧美黑人性暴力猛交喷水 | 人妻少妇精品无码专区动漫 | 欧美激情综合亚洲一二区 | 欧美人与物videos另类 | 国产高清不卡无码视频 | 久9re热视频这里只有精品 | 成 人 网 站国产免费观看 | 亚洲色大成网站www | 亚洲一区二区三区在线观看网站 | 亚洲小说春色综合另类 | 久久精品人人做人人综合试看 | 久久精品国产精品国产精品污 | 婷婷丁香五月天综合东京热 | 亚洲中文字幕无码一久久区 | 亚洲国产精品一区二区第一页 | 丁香花在线影院观看在线播放 | 精品无码国产一区二区三区av | 成人无码视频免费播放 | 国产av久久久久精东av | 国产麻豆精品精东影业av网站 | 国内综合精品午夜久久资源 | 四虎国产精品一区二区 | 久久精品无码一区二区三区 | 永久黄网站色视频免费直播 | 性色欲情网站iwww九文堂 | av人摸人人人澡人人超碰下载 | 麻豆国产97在线 | 欧洲 | 色欲久久久天天天综合网精品 | www国产亚洲精品久久久日本 | 少女韩国电视剧在线观看完整 | 蜜桃视频插满18在线观看 | 三上悠亚人妻中文字幕在线 | 亚洲色成人中文字幕网站 | 狠狠色丁香久久婷婷综合五月 | 国内揄拍国内精品人妻 | 日韩人妻无码一区二区三区久久99 | 无码播放一区二区三区 | 欧美成人午夜精品久久久 | 牛和人交xxxx欧美 | 西西人体www44rt大胆高清 | 国产97色在线 | 免 | 99精品久久毛片a片 | 国产精品丝袜黑色高跟鞋 | 麻豆国产97在线 | 欧洲 | 玩弄中年熟妇正在播放 | 人人妻人人澡人人爽欧美一区九九 | 乱码av麻豆丝袜熟女系列 | 国产亚洲欧美在线专区 | 亚洲高清偷拍一区二区三区 | 国产特级毛片aaaaaaa高清 | 欧美性色19p | 性欧美牲交在线视频 | 久久午夜无码鲁丝片午夜精品 | 亚洲精品成a人在线观看 | 无码福利日韩神码福利片 | 妺妺窝人体色www在线小说 | 国产无av码在线观看 | 蜜桃臀无码内射一区二区三区 | 亚洲 欧美 激情 小说 另类 | 日本护士毛茸茸高潮 | 久久国语露脸国产精品电影 | 国产人妻人伦精品1国产丝袜 | 国产乱人偷精品人妻a片 | 俺去俺来也在线www色官网 | 国产情侣作爱视频免费观看 | 色 综合 欧美 亚洲 国产 | 少妇被黑人到高潮喷出白浆 | 亚洲a无码综合a国产av中文 | 国产极品视觉盛宴 | 久久久久成人精品免费播放动漫 | 亚洲熟悉妇女xxx妇女av | 亚洲 激情 小说 另类 欧美 | 国产乱码精品一品二品 | 国产精品无码一区二区三区不卡 | 亚洲一区二区三区无码久久 | 亚洲精品一区国产 | 欧美熟妇另类久久久久久多毛 | 人人妻人人藻人人爽欧美一区 | 亚洲日本一区二区三区在线 | 蜜桃视频韩日免费播放 | 天天av天天av天天透 | 国产精品人人妻人人爽 | 国产超碰人人爽人人做人人添 | 撕开奶罩揉吮奶头视频 | 无码人妻精品一区二区三区不卡 | 亚洲一区av无码专区在线观看 | 丰满人妻一区二区三区免费视频 | 成人综合网亚洲伊人 | 日韩在线不卡免费视频一区 | 好男人社区资源 | 一个人看的www免费视频在线观看 | 日韩亚洲欧美中文高清在线 | 狂野欧美性猛交免费视频 | 97精品国产97久久久久久免费 | 成人av无码一区二区三区 | 欧美freesex黑人又粗又大 | 18禁黄网站男男禁片免费观看 | 永久免费观看美女裸体的网站 | 麻豆蜜桃av蜜臀av色欲av | 国产97色在线 | 免 | 国产成人一区二区三区别 | 成 人 网 站国产免费观看 | 欧美阿v高清资源不卡在线播放 | 中文亚洲成a人片在线观看 | 国产国产精品人在线视 | 狠狠综合久久久久综合网 | 国产人成高清在线视频99最全资源 | 中文字幕av伊人av无码av | 国产手机在线αⅴ片无码观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 一本久道久久综合婷婷五月 | 两性色午夜视频免费播放 | 小sao货水好多真紧h无码视频 | 成人影院yy111111在线观看 | 在线播放免费人成毛片乱码 | 99精品国产综合久久久久五月天 | 97久久精品无码一区二区 | 一本久道久久综合狠狠爱 | 成人免费无码大片a毛片 | 无码国模国产在线观看 | 好男人www社区 | 波多野结衣乳巨码无在线观看 | 无码人妻出轨黑人中文字幕 | 亚洲伊人久久精品影院 | 永久免费观看国产裸体美女 | 国产精品久久久久久亚洲毛片 | 狠狠亚洲超碰狼人久久 | 色综合久久久久综合一本到桃花网 | 野狼第一精品社区 | 国产成人无码av一区二区 | 中文无码精品a∨在线观看不卡 | 网友自拍区视频精品 | 人人妻在人人 | 99精品国产综合久久久久五月天 | 亚洲日韩中文字幕在线播放 | 成人综合网亚洲伊人 | 精品无码成人片一区二区98 | 最近的中文字幕在线看视频 | 国产乱人偷精品人妻a片 | 婷婷丁香六月激情综合啪 | 丰满护士巨好爽好大乳 | 亚洲日本va中文字幕 | 国产午夜无码视频在线观看 | 久久aⅴ免费观看 | 丝袜美腿亚洲一区二区 | 人人澡人人妻人人爽人人蜜桃 | 日产精品高潮呻吟av久久 | 亚洲综合另类小说色区 | 精品欧美一区二区三区久久久 | 67194成是人免费无码 | 午夜熟女插插xx免费视频 | a片免费视频在线观看 | 国产又爽又黄又刺激的视频 | 久久视频在线观看精品 | 久久精品人妻少妇一区二区三区 | 国产成人无码av一区二区 | 精品国产一区av天美传媒 | 玩弄中年熟妇正在播放 | 国产在线aaa片一区二区99 | 欧美丰满熟妇xxxx性ppx人交 | 国产va免费精品观看 | 亚洲爆乳大丰满无码专区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 131美女爱做视频 | 粉嫩少妇内射浓精videos | 国产人妖乱国产精品人妖 | 玩弄人妻少妇500系列视频 | 中国女人内谢69xxxxxa片 | 亚洲の无码国产の无码步美 | 久久国产自偷自偷免费一区调 | 国产精品亚洲а∨无码播放麻豆 | 婷婷综合久久中文字幕蜜桃三电影 | 日日麻批免费40分钟无码 | 大地资源网第二页免费观看 | 一本精品99久久精品77 | 伊在人天堂亚洲香蕉精品区 | 中文字幕乱码中文乱码51精品 | 日韩精品无码一区二区中文字幕 | 中文字幕无码热在线视频 | 久久综合香蕉国产蜜臀av | 久久久久亚洲精品中文字幕 | 在线播放无码字幕亚洲 | 国产美女精品一区二区三区 | 日本精品少妇一区二区三区 | 精品久久久中文字幕人妻 | 亚洲日本va午夜在线电影 | 无码av免费一区二区三区试看 | 亚洲综合色区中文字幕 | 国産精品久久久久久久 | 亚洲色在线无码国产精品不卡 | 熟妇人妻中文av无码 | 日本一区二区三区免费播放 | av无码电影一区二区三区 | 亲嘴扒胸摸屁股激烈网站 | 国产精品永久免费视频 | 欧美日韩人成综合在线播放 | 久久久久久久久蜜桃 | 色婷婷综合激情综在线播放 | aa片在线观看视频在线播放 | 桃花色综合影院 | 狠狠cao日日穞夜夜穞av | 人人妻人人藻人人爽欧美一区 | 亚洲天堂2017无码 | 亚洲国产精品久久久天堂 | 亚洲综合精品香蕉久久网 | 国产亚洲精品精品国产亚洲综合 | 丰满人妻一区二区三区免费视频 | 亚洲色大成网站www | 午夜精品一区二区三区在线观看 | 免费无码av一区二区 | 综合网日日天干夜夜久久 | 特级做a爰片毛片免费69 | 国产色视频一区二区三区 | 97精品国产97久久久久久免费 | 人人妻人人藻人人爽欧美一区 | 国产女主播喷水视频在线观看 | 精品国偷自产在线视频 | 人人妻人人藻人人爽欧美一区 | 日本一区二区更新不卡 | 男女作爱免费网站 | 国产乱人伦偷精品视频 | 欧美日韩一区二区三区自拍 | 国产三级久久久精品麻豆三级 | 国产精品福利视频导航 | 亚洲а∨天堂久久精品2021 | 一个人看的视频www在线 | 无码人妻av免费一区二区三区 | 人人爽人人爽人人片av亚洲 | 国产av一区二区三区最新精品 | 国产片av国语在线观看 | 亚洲人成影院在线观看 | 双乳奶水饱满少妇呻吟 | 国産精品久久久久久久 | 午夜时刻免费入口 | 国产在热线精品视频 | 中文亚洲成a人片在线观看 | 久久99精品久久久久婷婷 | 日本www一道久久久免费榴莲 | 99久久久无码国产精品免费 | 成人无码精品一区二区三区 | 欧美日韩一区二区免费视频 | 国产成人无码午夜视频在线观看 | 久久精品国产99精品亚洲 | 亚洲一区二区观看播放 | 亚洲一区二区三区香蕉 | 国内精品久久久久久中文字幕 | 国产猛烈高潮尖叫视频免费 | 中国大陆精品视频xxxx | 丰腴饱满的极品熟妇 | 亚洲国产精品久久人人爱 | 强伦人妻一区二区三区视频18 | 中文精品久久久久人妻不卡 | 狠狠色欧美亚洲狠狠色www | 天天燥日日燥 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲欧洲日本无在线码 | 强伦人妻一区二区三区视频18 | 亚洲中文字幕乱码av波多ji | 亚洲日韩av一区二区三区中文 | 任你躁在线精品免费 | 亚洲精品中文字幕久久久久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 欧美变态另类xxxx | 又粗又大又硬又长又爽 | 国内精品人妻无码久久久影院 | 无码av中文字幕免费放 | 女人被爽到呻吟gif动态图视看 | 亚洲国产成人av在线观看 | 亚洲国产一区二区三区在线观看 | 欧洲精品码一区二区三区免费看 | 国产一区二区三区影院 | 亚洲另类伦春色综合小说 | 久久亚洲a片com人成 | 久久97精品久久久久久久不卡 | 日本精品高清一区二区 | 国产女主播喷水视频在线观看 | 亚洲毛片av日韩av无码 | 在线精品国产一区二区三区 | 国产精品理论片在线观看 | 丰满岳乱妇在线观看中字无码 | 在线播放亚洲第一字幕 | 久久久久亚洲精品男人的天堂 | 日韩人妻无码一区二区三区久久99 | 高清不卡一区二区三区 | 一本色道久久综合亚洲精品不卡 | 无码国产激情在线观看 | 亚洲人亚洲人成电影网站色 | 精品水蜜桃久久久久久久 | 午夜福利试看120秒体验区 | 亚洲精品久久久久久一区二区 | 中文字幕人妻丝袜二区 | 日韩av激情在线观看 | 国产明星裸体无码xxxx视频 | 久久亚洲a片com人成 | 欧美人与善在线com | 亚洲欧洲日本无在线码 | 免费无码肉片在线观看 | 漂亮人妻洗澡被公强 日日躁 | 内射欧美老妇wbb | 国产亚洲精品久久久久久国模美 | 亚洲男人av香蕉爽爽爽爽 | 国产成人无码av在线影院 | 激情综合激情五月俺也去 | 无码人妻精品一区二区三区下载 | 鲁大师影院在线观看 | 国产午夜福利100集发布 | 欧美午夜特黄aaaaaa片 | 任你躁国产自任一区二区三区 | 少妇被粗大的猛进出69影院 | 无码乱肉视频免费大全合集 | 亚洲综合色区中文字幕 | 精品夜夜澡人妻无码av蜜桃 | 扒开双腿疯狂进出爽爽爽视频 | 我要看www免费看插插视频 | 成年美女黄网站色大免费视频 | av人摸人人人澡人人超碰下载 | 亚洲综合精品香蕉久久网 | 青青草原综合久久大伊人精品 | 无码人妻丰满熟妇区五十路百度 | 久热国产vs视频在线观看 | 爱做久久久久久 | 乌克兰少妇性做爰 | 国产婷婷色一区二区三区在线 | 天堂在线观看www | 国产成人人人97超碰超爽8 | 欧美精品一区二区精品久久 | 又粗又大又硬又长又爽 | 国产精品久久久久无码av色戒 | 无码国产色欲xxxxx视频 | 亚洲中文字幕无码中字 | 无码乱肉视频免费大全合集 | 亚洲精品国产精品乱码视色 | 少妇无套内谢久久久久 | 国产成人精品久久亚洲高清不卡 | 撕开奶罩揉吮奶头视频 | 国产9 9在线 | 中文 | 国产精品福利视频导航 | 天天做天天爱天天爽综合网 | 波多野结衣av在线观看 | 久青草影院在线观看国产 | 色情久久久av熟女人妻网站 | 久久国产精品萌白酱免费 | 天天av天天av天天透 | 久久亚洲国产成人精品性色 | 性欧美牲交xxxxx视频 | 婷婷五月综合缴情在线视频 | 丰满诱人的人妻3 | 久久久久久久女国产乱让韩 | 成人一区二区免费视频 | 日韩精品a片一区二区三区妖精 | 亚洲欧美日韩国产精品一区二区 | 97久久超碰中文字幕 | 亲嘴扒胸摸屁股激烈网站 | 午夜熟女插插xx免费视频 | 18禁黄网站男男禁片免费观看 | 亚洲午夜久久久影院 | 日本丰满护士爆乳xxxx | 国产手机在线αⅴ片无码观看 | 国产 精品 自在自线 | 人妻尝试又大又粗久久 | 色婷婷欧美在线播放内射 | 日韩欧美成人免费观看 | 丰满少妇女裸体bbw | 久久99久久99精品中文字幕 | 亚洲国产精品成人久久蜜臀 | 内射白嫩少妇超碰 | 国产精品无码永久免费888 | 中文字幕无码日韩专区 | 日本一卡2卡3卡四卡精品网站 | 国产色视频一区二区三区 | 欧美国产亚洲日韩在线二区 | 内射老妇bbwx0c0ck | 少妇一晚三次一区二区三区 | 日日碰狠狠躁久久躁蜜桃 | 少妇性荡欲午夜性开放视频剧场 | 中文字幕无码av激情不卡 | 又大又硬又爽免费视频 | 成人亚洲精品久久久久软件 | 无码帝国www无码专区色综合 | 又大又硬又黄的免费视频 | 人妻有码中文字幕在线 | 成 人影片 免费观看 | 久久久亚洲欧洲日产国码αv | 内射后入在线观看一区 | 狠狠色欧美亚洲狠狠色www | 人妻无码αv中文字幕久久琪琪布 | 天天做天天爱天天爽综合网 | 国产香蕉尹人综合在线观看 | av无码电影一区二区三区 | 久久精品人人做人人综合试看 | 午夜不卡av免费 一本久久a久久精品vr综合 | 麻豆国产人妻欲求不满谁演的 | 午夜熟女插插xx免费视频 | 国产精品毛片一区二区 | 亚洲の无码国产の无码步美 | 欧美人与动性行为视频 | 人人妻人人澡人人爽人人精品浪潮 | 色一情一乱一伦一视频免费看 | 强伦人妻一区二区三区视频18 | 久久99精品久久久久久动态图 | 色欲久久久天天天综合网精品 | 亚洲自偷自拍另类第1页 | 亚洲精品成人福利网站 | 精品日本一区二区三区在线观看 | 精品亚洲韩国一区二区三区 | 午夜精品一区二区三区在线观看 | 又粗又大又硬毛片免费看 | 国内综合精品午夜久久资源 | 又粗又大又硬又长又爽 | 国产精品久久国产三级国 | 日韩人妻无码一区二区三区久久99 | 欧美熟妇另类久久久久久多毛 | 超碰97人人做人人爱少妇 | 久久亚洲日韩精品一区二区三区 | 亚洲伊人久久精品影院 | 国产内射爽爽大片视频社区在线 | 天堂а√在线中文在线 | 秋霞成人午夜鲁丝一区二区三区 | 成人精品一区二区三区中文字幕 | 久久久亚洲欧洲日产国码αv | 欧美丰满熟妇xxxx | 亚洲男人av香蕉爽爽爽爽 | 亚洲一区二区三区国产精华液 | 窝窝午夜理论片影院 | 夜夜躁日日躁狠狠久久av | 丰腴饱满的极品熟妇 | 青青草原综合久久大伊人精品 | 人妻互换免费中文字幕 | 久久国产自偷自偷免费一区调 | 性做久久久久久久久 | 久久www免费人成人片 | 免费无码午夜福利片69 | 大地资源中文第3页 | 十八禁真人啪啪免费网站 | 久久精品中文字幕一区 | 精品人人妻人人澡人人爽人人 | 国产免费久久久久久无码 | 亚洲中文无码av永久不收费 | 学生妹亚洲一区二区 | 全黄性性激高免费视频 | 久久天天躁夜夜躁狠狠 | 久久久精品人妻久久影视 | 伊人久久婷婷五月综合97色 | 99久久99久久免费精品蜜桃 | 国产精品沙发午睡系列 | 国产真实伦对白全集 | 亚洲国产欧美国产综合一区 | 午夜精品久久久久久久久 | 人人妻在人人 | 亚洲综合在线一区二区三区 | 国内精品一区二区三区不卡 | 日韩欧美群交p片內射中文 | aa片在线观看视频在线播放 | 乱人伦人妻中文字幕无码久久网 | 国产精华av午夜在线观看 | 亚洲中文字幕无码中文字在线 | 日本乱偷人妻中文字幕 | 激情内射日本一区二区三区 | 中文字幕无码日韩欧毛 | 亚洲自偷精品视频自拍 | 丰满少妇熟乱xxxxx视频 | 伊人久久大香线蕉亚洲 | 中文字幕av日韩精品一区二区 | 久久精品人人做人人综合试看 | 六月丁香婷婷色狠狠久久 | 成人无码精品一区二区三区 | 亚洲中文字幕无码中文字在线 | 国产精品久久久久久亚洲毛片 | 精品国偷自产在线 | 亚洲日韩av一区二区三区四区 | 无码人妻丰满熟妇区五十路百度 | 国产激情艳情在线看视频 | 国产精品久久国产三级国 | 久久人人爽人人人人片 | 成 人影片 免费观看 | 国产成人无码区免费内射一片色欲 | 麻豆果冻传媒2021精品传媒一区下载 | 夜夜高潮次次欢爽av女 | 国产午夜亚洲精品不卡下载 | 一本大道伊人av久久综合 | 人人妻人人澡人人爽精品欧美 | 国产乱人伦av在线无码 | 日本一区二区三区免费播放 | 亚洲一区二区三区 | 99riav国产精品视频 | 骚片av蜜桃精品一区 | 无码乱肉视频免费大全合集 | 国产人成高清在线视频99最全资源 | 人妻少妇被猛烈进入中文字幕 | 麻豆果冻传媒2021精品传媒一区下载 | 精品国产青草久久久久福利 | 国产性生大片免费观看性 | 99久久亚洲精品无码毛片 | 国产精品.xx视频.xxtv | 高潮毛片无遮挡高清免费 | 久精品国产欧美亚洲色aⅴ大片 | 奇米影视7777久久精品人人爽 | 国产麻豆精品精东影业av网站 | 激情人妻另类人妻伦 | 人人澡人人妻人人爽人人蜜桃 | 亚洲 高清 成人 动漫 | 玩弄人妻少妇500系列视频 | 亚洲精品一区三区三区在线观看 | 国产精品成人av在线观看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产免费观看黄av片 | 天天爽夜夜爽夜夜爽 | 国产av久久久久精东av | 亚洲熟悉妇女xxx妇女av | 激情内射日本一区二区三区 | 九九久久精品国产免费看小说 | 亚洲综合久久一区二区 | 爽爽影院免费观看 | 中文字幕人妻丝袜二区 | 色老头在线一区二区三区 | 精品国偷自产在线 | 一本久道久久综合狠狠爱 | 精品无码av一区二区三区 | 在线a亚洲视频播放在线观看 | 欧美日本精品一区二区三区 | 久久久婷婷五月亚洲97号色 | 2020久久超碰国产精品最新 | 性生交大片免费看女人按摩摩 | 巨爆乳无码视频在线观看 | 日本丰满护士爆乳xxxx | 午夜肉伦伦影院 | 99久久精品午夜一区二区 | 黄网在线观看免费网站 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 成人免费视频在线观看 | 国产精品美女久久久久av爽李琼 | 无码成人精品区在线观看 | 男人扒开女人内裤强吻桶进去 | 欧美国产亚洲日韩在线二区 | 亚洲人交乣女bbw | 国内精品人妻无码久久久影院蜜桃 | 天堂无码人妻精品一区二区三区 | 欧美日韩在线亚洲综合国产人 | 最近免费中文字幕中文高清百度 | 国产精品亚洲综合色区韩国 | 性史性农村dvd毛片 | 日韩精品久久久肉伦网站 | 中文毛片无遮挡高清免费 | 欧美丰满熟妇xxxx性ppx人交 | 一个人看的www免费视频在线观看 | 精品无码一区二区三区爱欲 | 日本一本二本三区免费 | 久久综合九色综合欧美狠狠 | 精品国偷自产在线视频 | 精品aⅴ一区二区三区 | 国产成人人人97超碰超爽8 | 少妇愉情理伦片bd | 日韩无套无码精品 | 天天摸天天碰天天添 | 狠狠综合久久久久综合网 | 国产成人综合在线女婷五月99播放 | 欧美一区二区三区 | 亚洲中文字幕在线无码一区二区 | 中文字幕无线码 | 大胆欧美熟妇xx | 日日摸夜夜摸狠狠摸婷婷 | 野外少妇愉情中文字幕 | 欧美老人巨大xxxx做受 | 中文字幕乱妇无码av在线 | 亚洲人交乣女bbw | 久久天天躁狠狠躁夜夜免费观看 | 国产av一区二区精品久久凹凸 | 久久五月精品中文字幕 | 亚洲一区二区三区偷拍女厕 | 亚洲精品成a人在线观看 | 欧美性猛交xxxx富婆 | 国语精品一区二区三区 | 国产精品a成v人在线播放 | 内射巨臀欧美在线视频 | 在线亚洲高清揄拍自拍一品区 | 国产精品久久国产精品99 | 日本熟妇人妻xxxxx人hd | 亚洲日本在线电影 | 蜜桃av抽搐高潮一区二区 | 妺妺窝人体色www在线小说 | 免费男性肉肉影院 | 精品午夜福利在线观看 | 亚洲成av人影院在线观看 | 2020最新国产自产精品 | 国产乱人无码伦av在线a | 男女超爽视频免费播放 | 水蜜桃亚洲一二三四在线 | 国产精品久久久久久亚洲影视内衣 | 午夜精品久久久久久久 | 国产精品福利视频导航 | 荡女精品导航 | 麻豆国产人妻欲求不满谁演的 | 亚洲综合无码久久精品综合 | 国产性生大片免费观看性 | 内射老妇bbwx0c0ck | 久久国产精品精品国产色婷婷 | 成人试看120秒体验区 | 精品久久久久久人妻无码中文字幕 | 日日天日日夜日日摸 | 国产在线无码精品电影网 | 在线精品国产一区二区三区 | 免费网站看v片在线18禁无码 | 狂野欧美性猛交免费视频 | 欧美性生交活xxxxxdddd | 亚洲 a v无 码免 费 成 人 a v | 亚洲娇小与黑人巨大交 | 国产精品二区一区二区aⅴ污介绍 | 久久综合激激的五月天 | 亚洲经典千人经典日产 | 欧美xxxx黑人又粗又长 | 天天燥日日燥 | 老太婆性杂交欧美肥老太 | 啦啦啦www在线观看免费视频 | 精品偷拍一区二区三区在线看 | 99精品视频在线观看免费 | 2020最新国产自产精品 | 无码精品国产va在线观看dvd | av人摸人人人澡人人超碰下载 | 久久久久久亚洲精品a片成人 | 久久人人爽人人爽人人片ⅴ | 中文字幕精品av一区二区五区 | 国产疯狂伦交大片 | 欧洲美熟女乱又伦 | 久久国产精品_国产精品 | 成人精品视频一区二区三区尤物 | 亚洲日本va中文字幕 | 无套内谢的新婚少妇国语播放 | 97夜夜澡人人爽人人喊中国片 | 六月丁香婷婷色狠狠久久 | 高潮喷水的毛片 | 成人免费无码大片a毛片 | 乱中年女人伦av三区 | 精品乱子伦一区二区三区 | 国产精品久久国产精品99 | 国内少妇偷人精品视频免费 | 久久五月精品中文字幕 | 无码播放一区二区三区 | 少妇的肉体aa片免费 | 亚洲无人区午夜福利码高清完整版 | 国产精品久久国产三级国 | 亚洲男女内射在线播放 | 亚洲日本va午夜在线电影 | 日本一区二区更新不卡 | 日本在线高清不卡免费播放 | 亚洲一区二区三区在线观看网站 | 99久久99久久免费精品蜜桃 | 亚洲中文字幕久久无码 | 亚洲国产一区二区三区在线观看 | 成人欧美一区二区三区黑人 | 荫蒂被男人添的好舒服爽免费视频 | 思思久久99热只有频精品66 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 激情国产av做激情国产爱 | 狠狠躁日日躁夜夜躁2020 | 天天躁日日躁狠狠躁免费麻豆 | 人妻中文无码久热丝袜 | 少妇性l交大片欧洲热妇乱xxx | 亚洲日韩乱码中文无码蜜桃臀网站 | 中文字幕无线码免费人妻 | 老司机亚洲精品影院无码 | 日韩在线不卡免费视频一区 | 无套内谢的新婚少妇国语播放 | 国产免费久久精品国产传媒 | 欧美日韩一区二区综合 | 亚洲国产精品久久久久久 | 日韩欧美群交p片內射中文 | 国内少妇偷人精品视频 | 亚洲 高清 成人 动漫 | 装睡被陌生人摸出水好爽 | 乱中年女人伦av三区 | 少妇高潮一区二区三区99 | 男女猛烈xx00免费视频试看 | 无码人妻出轨黑人中文字幕 | 日本一卡2卡3卡四卡精品网站 | 好男人www社区 | 欧美人与动性行为视频 | 亚洲中文字幕在线无码一区二区 | 天堂无码人妻精品一区二区三区 | 欧美老熟妇乱xxxxx | 久久97精品久久久久久久不卡 | 亚洲无人区一区二区三区 | 国内精品久久久久久中文字幕 | 亚洲自偷精品视频自拍 | 人人爽人人澡人人人妻 | 中文字幕亚洲情99在线 | 亚洲高清偷拍一区二区三区 | 久久精品国产一区二区三区肥胖 | 国产精品久久久 | 无码人中文字幕 | 中文字幕av日韩精品一区二区 | 久久天天躁狠狠躁夜夜免费观看 | 大肉大捧一进一出视频出来呀 | 狠狠综合久久久久综合网 | 亚洲va欧美va天堂v国产综合 | 在线成人www免费观看视频 | 巨爆乳无码视频在线观看 | 久久精品国产日本波多野结衣 | 中文字幕人妻丝袜二区 | 欧美精品无码一区二区三区 | 日日橹狠狠爱欧美视频 | 又粗又大又硬毛片免费看 | 亚洲乱码日产精品bd | 无码一区二区三区在线观看 | 国产激情艳情在线看视频 | 日韩人妻无码一区二区三区久久99 | 四虎国产精品免费久久 | 少妇人妻av毛片在线看 | 丝袜 中出 制服 人妻 美腿 | 久久精品国产一区二区三区 | 日韩精品无码一区二区中文字幕 | 精品国产成人一区二区三区 | 一个人看的视频www在线 | 色综合天天综合狠狠爱 | 亚洲日韩一区二区 | 亚洲熟妇色xxxxx欧美老妇 | 欧美丰满老熟妇xxxxx性 | 麻豆国产人妻欲求不满谁演的 | 久久精品丝袜高跟鞋 | 免费中文字幕日韩欧美 | 亚洲色欲久久久综合网东京热 | 自拍偷自拍亚洲精品被多人伦好爽 | 久久久亚洲欧洲日产国码αv | 国产精品99爱免费视频 | 亚洲人成网站色7799 | 99国产精品白浆在线观看免费 | 天下第一社区视频www日本 | 99久久精品午夜一区二区 | 国产成人综合美国十次 | 日韩欧美中文字幕在线三区 | 亚洲国产高清在线观看视频 | 色欲人妻aaaaaaa无码 | 日本va欧美va欧美va精品 | 永久免费观看国产裸体美女 | 国产午夜亚洲精品不卡下载 | 97夜夜澡人人爽人人喊中国片 | 欧美色就是色 | 红桃av一区二区三区在线无码av | 日产精品高潮呻吟av久久 | 日本熟妇浓毛 | 97精品国产97久久久久久免费 | 国产内射爽爽大片视频社区在线 | 精品无码av一区二区三区 | av无码不卡在线观看免费 | av无码电影一区二区三区 | 国产欧美熟妇另类久久久 | 精品国产一区二区三区四区 | 成年女人永久免费看片 | 亚洲色欲色欲天天天www | 性生交大片免费看女人按摩摩 | 午夜福利一区二区三区在线观看 | 婷婷五月综合缴情在线视频 | 国产午夜亚洲精品不卡 | 国产精品福利视频导航 | 初尝人妻少妇中文字幕 | 国产精品亚洲а∨无码播放麻豆 | 亚洲乱码日产精品bd | 少妇人妻偷人精品无码视频 | 国产在线精品一区二区三区直播 | 强伦人妻一区二区三区视频18 | 午夜精品久久久内射近拍高清 | 99久久精品午夜一区二区 | 久久99久久99精品中文字幕 | 亚洲欧美色中文字幕在线 | 中文字幕av日韩精品一区二区 | 亚洲一区二区三区国产精华液 | 成人av无码一区二区三区 | 久久久久久久人妻无码中文字幕爆 | 国产人妻久久精品二区三区老狼 | 国产极品视觉盛宴 | 四虎4hu永久免费 | 网友自拍区视频精品 | 色一情一乱一伦一视频免费看 | 欧美一区二区三区 | 精品国精品国产自在久国产87 | 中文字幕乱码中文乱码51精品 | 日欧一片内射va在线影院 | 欧美三级a做爰在线观看 | 成人影院yy111111在线观看 | 丰满人妻一区二区三区免费视频 | 欧美人与禽猛交狂配 | 亚洲一区二区三区无码久久 | 学生妹亚洲一区二区 | 久久人妻内射无码一区三区 | 麻豆国产人妻欲求不满谁演的 | 四十如虎的丰满熟妇啪啪 | 久久亚洲a片com人成 | 久精品国产欧美亚洲色aⅴ大片 | 亚洲阿v天堂在线 | 国产真人无遮挡作爱免费视频 | 宝宝好涨水快流出来免费视频 | 2019nv天堂香蕉在线观看 | 亚洲国产精品一区二区第一页 | 国产精品久久久久无码av色戒 | 亚洲欧美精品伊人久久 | 日韩人妻少妇一区二区三区 | 天天拍夜夜添久久精品大 | 欧美熟妇另类久久久久久多毛 | 国产亚洲视频中文字幕97精品 | 99国产精品白浆在线观看免费 | 久久久精品人妻久久影视 | 国产国产精品人在线视 | 99久久久无码国产精品免费 | 午夜精品久久久久久久久 | 人人澡人摸人人添 | 免费观看黄网站 | 午夜时刻免费入口 | 中文字幕乱码亚洲无线三区 | 午夜理论片yy44880影院 | 国产av一区二区精品久久凹凸 | 乱人伦人妻中文字幕无码 | 妺妺窝人体色www婷婷 | 伊人久久大香线蕉av一区二区 | 狠狠色噜噜狠狠狠7777奇米 | 午夜肉伦伦影院 | 999久久久国产精品消防器材 | 国产 浪潮av性色四虎 | 国产精品99爱免费视频 | 久久精品中文字幕大胸 | 精品午夜福利在线观看 | 欧美午夜特黄aaaaaa片 | 捆绑白丝粉色jk震动捧喷白浆 | 欧美xxxx黑人又粗又长 | 青青青爽视频在线观看 | 好屌草这里只有精品 | 特级做a爰片毛片免费69 | 亚洲精品成人福利网站 | 久久zyz资源站无码中文动漫 | 久久精品人人做人人综合 | 色婷婷久久一区二区三区麻豆 | 亚洲精品一区二区三区四区五区 | 中文字幕无码免费久久99 | 亚洲欧美中文字幕5发布 | 亚洲色www成人永久网址 | 免费视频欧美无人区码 | 国产人妻久久精品二区三区老狼 | 成 人 网 站国产免费观看 | 女人被爽到呻吟gif动态图视看 | 久久国产自偷自偷免费一区调 | 色窝窝无码一区二区三区色欲 | 欧美日韩人成综合在线播放 | 日本一本二本三区免费 | 久久精品无码一区二区三区 | 18精品久久久无码午夜福利 | 日本xxxx色视频在线观看免费 | 国产精品无码一区二区三区不卡 | 日本欧美一区二区三区乱码 | 亚洲精品一区二区三区四区五区 | av小次郎收藏 | 亚洲乱码中文字幕在线 | 欧美兽交xxxx×视频 | 色欲av亚洲一区无码少妇 | 久久亚洲精品成人无码 | 国产高清av在线播放 | 亚洲一区二区观看播放 | 激情人妻另类人妻伦 | 亚洲一区二区三区国产精华液 | 少妇的肉体aa片免费 | 精品久久久中文字幕人妻 | 午夜成人1000部免费视频 | 国产精品办公室沙发 | www一区二区www免费 | 久久人人爽人人爽人人片av高清 | 亚洲狠狠婷婷综合久久 | 成人毛片一区二区 | 久久综合激激的五月天 | 精品日本一区二区三区在线观看 | 亚洲日本一区二区三区在线 | 中文字幕无码免费久久9一区9 | 日韩 欧美 动漫 国产 制服 | 任你躁在线精品免费 | 欧洲极品少妇 | 天天av天天av天天透 | 丰满人妻精品国产99aⅴ | 久久精品女人天堂av免费观看 | 精品欧美一区二区三区久久久 | 天下第一社区视频www日本 | 亚洲中文字幕无码一久久区 | 啦啦啦www在线观看免费视频 | 欧美日本免费一区二区三区 | 久久综合九色综合97网 | 欧美成人午夜精品久久久 | 亚洲色大成网站www | 人妻天天爽夜夜爽一区二区 | 天堂在线观看www | 大肉大捧一进一出视频出来呀 | 久久久久久九九精品久 | 国产肉丝袜在线观看 | 国产人妻久久精品二区三区老狼 | 国产办公室秘书无码精品99 | 熟女少妇在线视频播放 | 无套内射视频囯产 | www一区二区www免费 |