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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

基础数据结构【四】————环形链表与多项式

發(fā)布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础数据结构【四】————环形链表与多项式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

主要演示環(huán)形列表節(jié)點(diǎn)的創(chuàng)建插入,?刪除,遍歷,環(huán)形鏈表連接?。雙向鏈表節(jié)點(diǎn)的建立與插入 ,雙向鏈表中節(jié)點(diǎn)的刪除 以及環(huán)形鏈表在多項式中的應(yīng)用

DEMO1:環(huán)形鏈表節(jié)點(diǎn)的創(chuàng)建與插入??

/*
[名稱]:ch03_08.cpp
[示范]:環(huán)形鏈表節(jié)點(diǎn)的創(chuàng)建與插入 
*/
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string.h> 
#include <iomanip>
using namespace std;
class list
{   public:int num,score;char name[10];class list *next;
};
typedef struct list node;
typedef node *link;link findnode(link head,int num)
{link ptr;ptr=head;while(ptr!=NULL){if(ptr->num==num)return ptr;ptr=ptr->next;}return ptr;
}link insertnode(link head,link after,int num,int score,char name[10])   
{  link InsertNode;InsertNode=new node;link CurNode=NULL;InsertNode->num=num;InsertNode->score=score;strcpy(InsertNode->name,name);InsertNode->next=NULL;if(InsertNode==NULL){cout<<"內(nèi)存分配失敗"<<endl;return NULL;}else{if(head==NULL)	//鏈表是空的{head=InsertNode;InsertNode->next=head;return head;}              else{if(after==NULL)	//新增節(jié)點(diǎn)到鏈表頭部的位置{//(1)將新增節(jié)點(diǎn)的指針指向鏈表頭部InsertNode->next=head;CurNode=head;while(CurNode->next!=head)CurNode=CurNode->next;//(2)找到鏈表尾部,將它的指針指向新增節(jié)點(diǎn)CurNode->next=InsertNode;//(3)將鏈表頭指針向新增節(jié)點(diǎn)head=InsertNode;return head;}else //新增節(jié)點(diǎn)到鏈表頭部以外的地方{//(1)將新增節(jié)點(diǎn)的指針指向after的下一個節(jié)點(diǎn)InsertNode->next=after->next;//(2)將節(jié)點(diǎn)after的指針指向新增節(jié)點(diǎn)after->next=InsertNode;return head; }} }
}int main()
{  link head,ptr,newnode;int new_num, new_score;char new_name[10];int i,j,position=0,find,data[12][2];char namedata[12][10]={{"Allen"},{"Scott"},{"Marry"},{"John"},{"Mark"},{"Ricky"},{"Lisa"},{"Jasica"},{"Hanson"},{"Amy"},{"Bob"},{"Jack"}};srand((unsigned)time(NULL));cout<<"座號  成績  座號  成績  座號  成績  座號  成績"<<endl;cout<<"=============================================="<<endl;for(i=0;i<12;i++){  data[i][0]=i+1;data[i][1]=rand()%50+51;}for(i=0;i<3;i++){  for (j=0;j<4;j++)cout<<"["<<data[j*3+i][0]<<"] ["<<data[j*3+i][1]<<"]  ";cout<<endl;}head=new node;  //建立鏈表的頭指針if(!head){  cout<<"Error!! 內(nèi)存分配失敗!!"<<endl;exit(1);}head->num=data[0][0];for (j=0;j<10;j++)head->name[j]=namedata[0][j];head->score=data[0][1];head->next=NULL;ptr=head;for(i=1;i<12;i++)  //建立鏈表{  newnode=new node;newnode->num=data[i][0];for (j=0;j<10;j++)newnode->name[j]=namedata[i][j];newnode->score=data[i][1];newnode->next=NULL;ptr->next=newnode;//將前一個節(jié)點(diǎn)指向新創(chuàng)建的節(jié)點(diǎn)ptr=newnode; //新節(jié)點(diǎn)成為前一個節(jié)點(diǎn)}newnode->next=head;//將最后一個節(jié)點(diǎn)指向頭部節(jié)點(diǎn)就成了環(huán)形鏈表while(1){  cout<<"請輸入要插入其后的學(xué)生編號,結(jié)束輸入-1:";cin>>position;if(position==-1)    /*循環(huán)中斷條件*/break;else{  ptr=findnode(head,position);cout<<"請輸入新插入的學(xué)生編號:";cin>>new_num;cout<<"請輸入新插入的學(xué)生成績:";cin>>new_score;cout<<"請輸入新插入的學(xué)生姓名:";cin>>new_name;head=insertnode(head,ptr,new_num,new_score,new_name);}}ptr=head;//指向鏈表的開頭cout<<"\n\t座號\t    姓名\t成績\n";      cout<<"\t==============================\n";do{cout<<"\t["<<ptr->num<<"]\t[ "<<setw(10)<<ptr->name<<"]\t["<<ptr->score<<"]\n";ptr=ptr->next;//指向下一個節(jié)點(diǎn)} while(head!=ptr && head!=head->next);delete newnode;system("pause");return 0;
}

DEMO2:環(huán)形鏈表節(jié)點(diǎn)的刪除?

/*
[名稱]:ch03_09.cpp
[示范]:環(huán)形鏈表節(jié)點(diǎn)的刪除 
*/
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
class list
{  public:int num,score;char name[10];class list *next;
};
typedef class list node;
typedef node *link;link findnode(link head,int num)
{link ptr;ptr=head;while(ptr!=NULL){if(ptr->num==num)return ptr;ptr=ptr->next;}return ptr;
}link deletenode(link head,link del)   
{link CurNode=NULL;  link PreNode=NULL;link TailNode=NULL;if(head==NULL){cout<<"[環(huán)形鏈表已經(jīng)空了]";return NULL;}else{if(del==head) //刪除的節(jié)點(diǎn)是鏈表頭部{CurNode=head;while(CurNode->next!=head)CurNode=CurNode->next;//找到最后一個節(jié)點(diǎn)并記錄下來TailNode=CurNode;//(1)將鏈表頭指針移到下一個節(jié)點(diǎn)head=head->next;//(2)將鏈表最后一個節(jié)點(diǎn)的指針指向新的鏈表頭部TailNode->next=head;return head;} else //要刪除的節(jié)點(diǎn)不是鏈表頭部{CurNode=head;while(CurNode->next!=del)CurNode=CurNode->next;//(1)找到要刪除節(jié)點(diǎn)的前一個節(jié)點(diǎn)并記錄下來PreNode=CurNode;//要刪除的節(jié)點(diǎn)CurNode=CurNode->next;//(2)將要刪除節(jié)點(diǎn)的前一個指針指向要刪除節(jié)點(diǎn)的下一個節(jié)點(diǎn)PreNode->next=CurNode->next;free(CurNode);return head;}}
}int main()
{  link head,ptr,newnode;int new_num, new_score;char new_name[10];int i,j,position=0,find,data[12][2];char namedata[12][10]={{"Allen"},{"Scott"},{"Marry"},{"John"},{"Mark"},{"Ricky"},{"Lisa"},{"Jasica"},{"Hanson"},{"Amy"},{"Bob"},{"Jack"}};srand((unsigned)time(NULL));cout<<"座號  成績  座號  成績  座號  成績  座號  成績"<<endl;cout<<"=============================================="<<endl;for(i=0;i<12;i++){  data[i][0]=i+1;data[i][1]=rand()%50+51;}for(i=0;i<3;i++){  for (j=0;j<4;j++)cout<<"["<<data[j*3+i][0]<<"]"<<setw(4)<<"["<<data[j*3+i][1]<<"]  ";cout<<endl;}head=new node;   //建立鏈表頭指針if(!head){  cout<<"Error!! 內(nèi)存分配失敗!!"<<endl;exit(1);}head->num=data[0][0];for (j=0;j<10;j++)head->name[j]=namedata[0][j];head->score=data[0][1];head->next=NULL;ptr=head;for(i=1;i<12;i++) //建立鏈表{  newnode=new node;newnode->num=data[i][0];for (j=0;j<10;j++)newnode->name[j]=namedata[i][j];newnode->score=data[i][1];newnode->next=NULL;ptr->next=newnode;	//將前一個節(jié)點(diǎn)指向新建立的節(jié)點(diǎn)ptr=newnode;			//新節(jié)點(diǎn)成為前一個節(jié)點(diǎn)}newnode->next=head;		//將最后一個節(jié)點(diǎn)指向頭部節(jié)點(diǎn)就成了環(huán)形鏈表while(1){  cout<<"請輸入要刪除的學(xué)生編號,結(jié)束輸入-1:";cin>>position;if(position==-1) //循環(huán)中斷條件break;else{  ptr=findnode(head,position);head=deletenode(head,ptr);}}ptr=head;//指向鏈表的開頭cout<<"\n\t座號\t    姓名\t成績\n";         cout<<"\t==============================\n";do{cout<<"\t["<<ptr->num<<"]\t[ "<<setw(10)<<ptr->name<<"]\t["<<ptr->score<<"]"<<endl;ptr=ptr->next;//指向下一個節(jié)點(diǎn)} while(head!=ptr && head!=head->next);free(head);system("pause");return 0;
}

DEMO3:

[示范]:將兩個學(xué)生成績的環(huán)形鏈表連接起來,然后打印出連接后的鏈表內(nèi)容

/*
[名稱]:ch03_10.cpp
[示范]:將兩個學(xué)生成績的環(huán)形鏈表連接起來,然后打印出連接后的鏈表內(nèi)容
*/
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
using namespace std;
class list
{public:int num,score;char name[10];class list *next;
};
typedef class list node;
typedef node *link;
link creat_link(int data[10][2],int num);
void print_link(link head);
link concat(link ptr1,link ptr2);
int main()
{  link ptr1,ptr2,ptr;int i,data1[6][2],data2[6][2];srand(time(NULL));for (i=1;i<=6;i++){  data1[i-1][0]=i*2-1;data1[i-1][1]=rand()%49+52;data2[i-1][0]=i*2;data2[i-1][1]=rand()%49+52;}ptr1=creat_link(data1,6);//建立串行1ptr2=creat_link(data2,6);//建立串行2i=0;cout<<"\t\t       原 鏈 表 數(shù) 據(jù):"<<endl;cout<<"\t    座號 成績   座號 成績   座號 成績"<<endl;cout<<"\t    =================================="<<endl;cout<<"環(huán)形鏈表1 :";print_link(ptr1);cout<<"環(huán)形鏈表2 :";print_link(ptr2);cout<<"\t    =================================="<<endl;cout<<"連接后的鏈表:";ptr=concat(ptr1,ptr2);			//連接環(huán)形鏈表print_link(ptr);system("pause");
}
link creat_link(int data[10][2],int num) //建立鏈表子程序
{  link head,ptr,newnode;for(int i=0;i<num;i++){  newnode=new node;if(!newnode){  cout<<"Error!! 內(nèi)存分配失敗!!"<<endl;exit(i);}if(i==0)//建立鏈表頭部{  newnode->num=data[i][0];newnode->score=data[i][1];newnode->next=NULL;head=newnode;ptr=head;}else //建立鏈表其他節(jié)點(diǎn){  newnode->num=data[i][0];newnode->score=data[i][1];newnode->next=NULL;ptr->next=newnode;ptr=newnode;}newnode->next=head;}return ptr;//返回鏈表
}
void print_link(link head)//打印鏈表子程序
{  link ptr;int i=0;ptr=head->next;do {  cout<<"["<<setw(2)<<ptr->num<<"-"<<setw(3)<<ptr->score<<"] -> ";i++;if(i>=3)//每行打印三個元素{  cout<<"\n\t    ";i=0;}ptr=ptr->next;}while(ptr!=head->next);cout<<endl;
}
link concat(link ptr1,link ptr2)		//連接鏈表子程序
{  link head;head=ptr1->next;		//在ptr1和ptr2中,各找任意一個節(jié)點(diǎn)ptr1->next=ptr2->next;	//把兩個節(jié)點(diǎn)的next對調(diào)即可ptr2->next=head;return ptr2;
}

DEMO4:雙向鏈表節(jié)點(diǎn)的建立與插入??

/*
[名稱]:ch03_11.cpp
[示范]:雙向鏈表節(jié)點(diǎn)的建立與插入 
*/
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string.h> 
#include <iomanip>
using namespace std;
class list
{  public:int num,score;char name[10];class list *llink;class list *rlink;
};
typedef class list node;
typedef node *link;link findnode(link head,int num)
{link ptr;ptr=head;while(ptr!=NULL){if(ptr->num==num)return ptr;ptr=ptr->rlink;}return ptr;
}link insertnode(link head,link ptr,int num,int score,char name[10])   
{  link newnode=(link)malloc(sizeof(node));link newhead=(link)malloc(sizeof(node));newnode=new node;//memset(newnode,0,sizeof(node));newnode->num=num;newnode->score=score;strcpy(newnode->name,name);if(head==NULL) /*雙向鏈表是空的*/{newnode=new node;// memset(newhead,0,sizeof(node));       newhead->num=num;newhead->score=score;strcpy(newhead->name,name);return newhead;}else{if(ptr==NULL){cout<<"[錯誤:不是鏈表中的節(jié)點(diǎn)]"<<endl;}if(ptr==head) //插入鏈表頭部的位置{head->llink=newnode;newnode->rlink=head;head=newnode;}else{if(ptr->rlink==NULL) //插入鏈表末尾的位置{ptr->rlink=newnode;newnode->llink=ptr;newnode->rlink=NULL;}else //插入中間節(jié)點(diǎn)的位置{newnode->rlink=ptr->rlink;ptr->rlink->llink=newnode;ptr->rlink=newnode;newnode->llink=ptr;}}}return head;
}
int main(void)
{  link head,ptr;link llinknode=NULL;link newnode=NULL;int new_num, new_score;char new_name[10];int i,j,position=0,find,data[12][2];char namedata[12][10]={{"Allen"},{"Scott"},{"Marry"},{"John"},{"Mark"},{"Ricky"},{"Lisa"},{"Jasica"},{"Hanson"},{"Amy"},{"Bob"},{"Jack"}};srand((unsigned)time(NULL));cout<<"座號  成績  座號  成績  座號  成績  座號  成績"<<endl;cout<<"=============================================="<<endl;for(i=0;i<12;i++){  data[i][0]=i+1;data[i][1]=rand()%50+51;}for(i=0;i<3;i++){  for (j=0;j<4;j++)cout<<"["<<setw(2)<<data[j*3+i][0]<<"] ["<<setw(3)<<data[j*3+i][1]<<"]  ";cout<<endl;}head=new node;//建立鏈表頭指針if(head==NULL){  cout<<"Error!! 內(nèi)存分配失敗!!"<<endl;exit(1);}else{head=new node;head->num=data[0][0];for (j=0;j<10;j++)head->name[j]=namedata[0][j];head->score=data[0][1];llinknode=head;for(i=1;i<12;i++) //建立鏈表{  newnode=new node;newnode->llink = NULL;newnode->rlink = NULL;newnode->num=data[i][0];for (j=0;j<10;j++)newnode->name[j]=namedata[i][j];newnode->score=data[i][1];llinknode->rlink=newnode;newnode->llink=llinknode;llinknode=newnode;}}while(1){  cout<<"請輸入要插入其后的學(xué)生編號,結(jié)束輸入-1:";cin>>position;if(position==-1)//循環(huán)中斷條件break;else{  ptr=findnode(head,position);cout<<"請輸入新插入的學(xué)生編號:";cin>>new_num;cout<<"請輸入新插入的學(xué)生成績:";cin>>new_score;cout<<"請輸入新插入的學(xué)生姓名:";cin>>new_name;head=insertnode(head,ptr,new_num,new_score,new_name);}}cout<<endl<<"\t座號\t    姓名\t成績"<<endl;         cout<<"\t=============================="<<endl;ptr=head;while(ptr!=NULL){cout<<"\t["<<setw(2)<<ptr->num<<"]\t[ "<<setiosflags(ios::left)<<setw(10)<<ptr->name<<"]\t["<<setw(3)<<ptr->score<<"]"<<endl;ptr=ptr->rlink;   }free(head);free(newnode);system("pause");return 0;
}

DEMO5:雙向鏈表中節(jié)點(diǎn)的刪除?

/*
[名稱]:ch03_12.cpp
[示范]:雙向鏈表中節(jié)點(diǎn)的刪除 
*/
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
class list
{  public:int num,score;char name[10];class list *llink;class list *rlink;
};
typedef class list node;
typedef node *link;link findnode(link head,int num)
{link ptr;ptr=head;while(ptr!=NULL){if(ptr->num==num)return ptr;ptr=ptr->rlink;}return ptr;
}link deletenode(link head,link del)   
{  if(head==NULL) //雙向鏈表是空的{cout<<"[鏈表是空的]"<<endl;return NULL;}if(del==NULL){cout<<"[錯誤:不是鏈表中的節(jié)點(diǎn)]"<<endl;return NULL;}if(del==head){head=head->rlink;          head->llink=NULL;}else{if(del->rlink==NULL) //刪除鏈表尾{del->llink->rlink=NULL;}else //刪除中間節(jié)點(diǎn){del->llink->rlink=del->rlink;del->rlink->llink=del->llink;}}free(del);return head;
}int main()
{  link head,ptr;link llinknode=NULL;link newnode=NULL;int new_num, new_score;char new_name[10];int i,j,position=0,find,data[12][2];char namedata[12][10]={{"Allen"},{"Scott"},{"Marry"},{"John"},{"Mark"},{"Ricky"},{"Lisa"},{"Jasica"},{"Hanson"},{"Amy"},{"Bob"},{"Jack"}};srand((unsigned)time(NULL));cout<<"座號  成績  座號  成績  座號  成績  座號  成績"<<endl;cout<<"=============================================="<<endl;for(i=0;i<12;i++){  data[i][0]=i+1;data[i][1]=rand()%50+51;}for(i=0;i<3;i++){  for (j=0;j<4;j++)cout<<"["<<setw(2)<<data[j*3+i][0]<<"] ["<<setw(3)<<data[j*3+i][1]<<"]  ";cout<<endl;}head=new node; //建立鏈表頭指針if(head==NULL){  cout<<"Error!! 內(nèi)存分配失敗!!"<<endl;exit(1);}else{head=new node;head->num=data[0][0];for (j=0;j<10;j++)head->name[j]=namedata[0][j];head->score=data[0][1];llinknode=head;for(i=1;i<12;i++) //建立鏈表{  newnode=new node;newnode->llink = NULL;newnode->rlink = NULL;newnode->num=data[i][0];for (j=0;j<10;j++)newnode->name[j]=namedata[i][j];newnode->score=data[i][1];llinknode->rlink=newnode;newnode->llink=llinknode;llinknode=newnode;}}while(1){  cout<<"請輸入刪除的學(xué)生編號,結(jié)束輸入-1:";scanf("%d",&position);if(position==-1) //循環(huán)中斷條件break;else{  ptr=findnode(head,position);head=deletenode(head,ptr);}}cout<<endl<<"\t座號\t    姓名\t成績"<<endl;         cout<<"\t=============================="<<endl;ptr=head;while(ptr!=NULL){cout<<"\t["<<setiosflags(ios::right)<<setw(2)<<ptr->num<<"]\t[ "<<setiosflags(ios::left)<<setw(10)<<ptr->name<<"]\t["<<setw(3)<<ptr->score<<"]"<<endl;ptr=ptr->rlink;   }system("pause");return 0;
}

DEMO6:多項式相加

/*
[名稱]:ch03_13.cpp
[示范]:多項式相加
*/
#include <iostream>
using namespace std;
class list //聲明鏈表結(jié)構(gòu)
{  public :int coef,exp;class list *next;
};
typedef class list node;
typedef node *link;
link creat_link(int data[4]);
void print_link(link head);
link sum_link(link a,link b);
int main()
{  link a,b,c;int data1[4]={3,0,4,2}; //多項式A的系數(shù)int data2[4]={6,8,6,9}; //多項式B的系數(shù)cout<<"原始多項式:"<<endl<<"A=";a=creat_link(data1);    //建立多項式Ab=creat_link(data2);    //建立多項式Bprint_link(a);          //打印多項式Acout<<"B=";print_link(b);          //打印多項式Bcout<<"多項式相加的結(jié)果:\nC=";c=sum_link(a,b);        //C為A、B多項式相加的結(jié)果print_link(c);          //打印多項式Csystem("pause");
}
link creat_link(int data[4])//建立多項式子程序
{link head,newnode,ptr;for(int i=0;i<4;i++){  newnode = new node;if(!newnode){  cout<<"Error!! 內(nèi)存分配失敗!!"<<endl;exit(1);}if(i==0){  newnode->coef=data[i];newnode->exp=3-i;newnode->next=NULL;head=newnode;ptr=head;}else if(data[i]!=0){  newnode->coef=data[i];newnode->exp=3-i;newnode->next=NULL;ptr->next=newnode;ptr=newnode;}}return head;
}
void print_link(link head) //打印多項式子程序
{  while(head!=NULL) {  if(head->exp==1 && head->coef!=0)	//X^1時不顯示指數(shù)cout<<head->coef<<"X + ";else if(head->exp!=0 && head->coef!=0)cout<<head->coef<<"X^"<<head->exp<<" + ";else if(head->coef!=0)           	//X^0時不顯示變量cout<<head->coef;head=head->next;}cout<<endl;
}
link sum_link(link a,link b) //多項式相加子程序
{  int sum[4],i=0;link ptr;ptr=b;while(a!=NULL) //判斷多項式1{  b=ptr; 	//重復(fù)比較A和B的指數(shù)while(b!=NULL){  if(a->exp==b->exp)	//指數(shù)相等,系數(shù)相加{  sum[i]=a->coef+b->coef;a=a->next;b=b->next;i++;}else if(b->exp > a->exp)	//B指數(shù)較大,指定系數(shù)給C{  sum[i]=b->coef;b=b->next;i++;}else if(a->exp > b->exp)	//A指數(shù)較大,指定系數(shù)給C{  sum[i]=a->coef;a=a->next;i++;}}}return creat_link(sum);	//建立相加結(jié)果的鏈表C
}

?

總結(jié)

以上是生活随笔為你收集整理的基础数据结构【四】————环形链表与多项式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产成人高清视频 | 快播视频在线观看 | 日日精品| 波多野结衣电影免费观看 | 国产成人无码一二三区视频 | 男女做爰猛烈刺激 | 人妻丰满熟妇av无码久久洗澡 | 黄色美女av| 日韩成人精品一区二区三区 | 亚洲精品乱码久久久久久麻豆不卡 | 亚洲国产一区二区在线 | 国产永久免费视频 | 欧美日韩一区二区三区国产精品成人 | 国产亚洲黄色片 | 久久久无码精品亚洲国产 | 欧美一区二区在线观看视频 | 91精品视频在线 | 亚洲淫欲 | 播播网色播播 | 国产免费av片在线观看 | 国产精品乱轮 | 国产精品23p | 你懂的在线观看网址 | 中文字幕123区 | 一区二区精品视频 | 黄色片在线免费看 | 痴女扩张宫交脱垂重口小说 | 自拍亚洲一区 | 欧美日韩激情视频 | 污污网站免费 | 久久综合久久综合久久 | 亚洲视频手机在线观看 | ww欧美| 国产又爽又黄无码无遮挡在线观看 | 亚洲一区不卡在线 | 一本色道久久综合亚洲精品 | 成年人网站黄 | 国产传媒一区二区三区 | 久久久久久福利 | 天天操天天干天天爱 | 视频在线播 | 不卡av电影在线 | www亚洲精品| 性做久久久久 | 少妇精品高潮欲妇又嫩中文字幕 | 日韩大片在线观看 | 亚洲精品电影院 | 国内精品久久久 | 亚欧精品视频一区二区三区 | 日本专区在线 | 国产亚洲性欧美日韩在线观看软件 | 欧美国产视频一区 | 久久精品综合视频 | 精品一区二区三区四区 | 免费在线播放视频 | 欧美在线观看a | 国产成人一区二区三区别 | 这里只有精品在线播放 | 91久久国产综合久久91 | 波多野结衣爱爱 | 国产精品人人妻人人爽人人牛 | 9999久久久久| 欧美三区在线观看 | 中国吞精videos露脸 | 51福利视频 | 美国av大片| 亚洲成熟毛多妇女av毛片 | 日韩中文av在线 | 色操插| 九一网站在线观看 | 日本网站在线看 | 无码精品一区二区三区AV | 青青操网 | 少妇网站在线观看 | 二区三区在线视频 | 日本在线视频免费观看 | 国产做受入口竹菊 | 国产精品作爱 | 中文字幕第12页 | 人妻激情偷乱视频一区二区三区 | 欧美另类老妇 | 国产精品成人一区二区三区电影毛片 | 中国少妇av| 国产熟妇另类久久久久 | 一级二级毛片 | 一起草最新网址 | 天堂网一区 | 深爱激情五月婷婷 | 亚洲免费在线观看 | 97色综合 | 国产深夜福利在线 | 一区二区高潮 | 猫咪av网 | 日韩六区 | 男女激情在线观看 | 亚洲福利影院 | 欧美xxxx胸大 | 国产精品久久久久久久久久久久久久久久 | 欧美s码亚洲码精品m码 |