青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

newplan

阿基米德在洗澡時發現浮力原理,高興得來不及穿上褲子,跑到街上大喊:Eureka(我找到了)。
posts - 39, comments - 26, trackbacks - 0, articles - 4
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

多項式單向鏈表實現

Posted on 2007-10-05 20:21 山泉彎延 閱讀(1340) 評論(4)  編輯 收藏 引用 所屬分類: 數據結構實驗集
  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<conio.h>
  4 //============================================== 
  5 typedef struct PolyNode
  6 {
  7       int coef;//多項式項的系數 
  8       int exp;//多項式項的指數 
  9       struct PolyNode *next;
 10 }PolyNode;   //聲明了多項式項結構 
 11 //===============================================
 12 int PolyList_Init(PolyNode **head)//初始化表頭 (注意參數head的寫法)
 13 {
 14      *head =(PolyNode *)malloc(sizeof(PolyNode));
 15      if(NULL==*head)
 16      return 0;
 17      else{(*head)->next=NULL
 18            return 1;}
 19 }
 20 //================================================ 
 21 int PolyList_Empty(PolyNode *head)//判斷連表示是否為空 
 22 {
 23  if(head==NULL)
 24         return 1;//當鏈表頭節點都沒有的時候返回 1; 
 25  if(head->next==NULL)
 26         return 2;//當鏈表只存在頭節點的時候返回 2; 
 27         else return 0//當鏈表即存在頭節點又存在實節點的時候返回 0; 
 28 }
 29 //=================================================
 30 int PolyNode_Insert(PolyNode *head,PolyNode *Insertor)//在多項式鏈表的適當位置插入鏈表 
 31 {
 32     if(PolyList_Empty(head)==1)
 33          {
 34                            printf("No PolyList Exist! Can not do Insert\n");
 35                            return 0;
 36          }
 37     PolyNode *p_front=head;
 38     PolyNode *p=head->next;
 39     if(PolyList_Empty(head)==2)
 40          {
 41                             Insertor->next=head->next;
 42                             head->next=Insertor; 
 43                             return 1;
 44          }
 45     int sum=0;
 46     while(p)
 47     {       
 48             if(p->exp == Insertor->exp)
 49                  {
 50                  if(sum=(p->coef+Insertor->coef))
 51                     {
 52                         p->coef=sum;
 53                         free(Insertor); 
 54                         return 1;
 55                     }
 56                  else{
 57                          p_front->next=p->next;
 58                          free(p);
 59                          free(Insertor);
 60                          return 1;
 61                     }
 62                  }
 63             else if(p->exp > Insertor->exp)
 64                  {
 65                      Insertor->next=p;
 66                      p_front->next=Insertor;
 67                      return 1;
 68                  }
 69             else {p_front=p;
 70                   p=p->next;}
 71     } 
 72     if(!p)
 73         {
 74                   p_front->next=Insertor;
 75                   Insertor->next=NULL;
 76                   return 1;
 77         }
 78 }
 79 //========================================= 
 80 void PolyList_Free(PolyNode *head)//釋放鏈表 
 81 {
 82     PolyNode *p,*q;
 83     for(p=head;p!=NULL;)
 84         {q=p;
 85          p=p->next;
 86          free(q);
 87         }
 88         
 89 }
 90 //==========================================
 91 PolyNode* PolyList_Create(PolyNode *head)//創建一個多項式鏈表 
 92 {
 93           
 94     if(!PolyList_Init(&head))
 95    {  
 96       printf("Init PolyLIst Fail!\n");
 97       exit(1);
 98    }
 99    PolyNode *tmp=NULL;
100    int coef_tmp;
101    do{  
102       tmp=(PolyNode*)malloc(sizeof(PolyNode));
103       if(!tmp)
104          {  PolyList_Free(head);
105              printf("malloc fail\n");
106               exit(1);
107           }
108        printf("coef=");
109        scanf("%d",&(tmp->coef));
110        coef_tmp=tmp->coef;
111        printf("exp=");
112        scanf("%d",&(tmp->exp));
113        if(0!=tmp->coef)
114          PolyNode_Insert(head,tmp);
115     }while(0!=coef_tmp);
116    free(tmp);
117    return head;
118 }
119 //========================================================== 
120 PolyNode *PolyList_Copy(PolyNode *head)// 復制多項式(鏈表)
121 {
122    if(PolyList_Empty(head)==1)
123      {
124                  printf("No PolyList Exist!\n");
125                  return NULL;
126      }
127    PolyNode *head_copy=head;
128    if(PolyList_Empty(head)==2)
129          {
130                          if(!PolyList_Init(&head_copy))
131                               {  
132                                printf("Init PolyLIst Fail!\n");
133                                    exit(1);
134                                }
135                           return head_copy;
136          }
137     if(!PolyList_Init(&head_copy))
138     {  
139       printf("Init PolyLIst Fail!\n");
140       exit(1);
141     }
142     PolyNode *p_copy=head_copy->next
143     PolyNode *p_copy_front=head_copy; //定義一個指在p_copy前面節點的指針,完成復制鏈表的鏈接工作; 
144     PolyNode *p=head->next;
145     while(p)
146     {
147          {  
148             p_copy=(PolyNode*)malloc(sizeof(PolyNode));
149             p_copy_front->next=p_copy;//使p_copy_front->next指向p_copy剛剛申請到的新節點; 
150             p_copy_front=p_copy;//指針跟隨P_copy向前移動 
151             p_copy->coef=p->coef;
152             p_copy->exp=p->exp;    
153         }
154         p=p->next;
155     }
156     p_copy->next=NULL
157     return head_copy;
158 }
159 //================================================= 
160 int  PolyList_View(PolyNode *head)//版本低的多項式訪問 
161 {
162      if(PolyList_Empty(head))
163        {printf("No PolyList Exist or Poly Empty! Can not do View\n");
164         return 0;
165        }
166         PolyNode *p;
167         printf("Poly=");
168         int count=0
169      for(p=head->next;p->next!=NULL;)
170       {
171         count++;
172         printf("(%dx^%d)+",p->coef,p->exp);
173         p=p->next;
174      }
175         count++
176         printf("(%dx^%d)  ##多項式的項數為%d\n",p->coef,p->exp,count);
177         
178         return 1;
179 }
180 //===================================================
181 int  PolyList_View_2(PolyNode *head)//版本高的多項式訪問 
182 {
183      if(PolyList_Empty(head)==1)
184        {printf("No PolyList Exist! Can not do View\n");
185         return 0;
186        }
187      if(PolyList_Empty(head)==2)
188        {
189         printf("Poly=0\n");
190         return 1;
191        }
192      PolyNode *p;
193      printf("Poly=");
194      for(p=head->next;p!=NULL;)
195      {
196       if(p->coef<0)
197         if(0==p->exp)
198            printf("%d",p->coef);
199         else{  if(-1==p->coef)
200                   printf("-x^%d",p->exp);
201                else
202                   printf("%dx^%d",p->coef,p->exp);
203             }
204       if(p->coef>0)
205         if(0==p->exp)
206            {if(p==head->next)
207               printf("%d",p->coef);
208             else
209                printf("+%d",p->coef);
210             }
211         elseif(1==p->coef)
212                  {if(p==head->next)
213                      printf("x^%d",p->exp);
214                  else
215                      printf("+x^%d",p->exp);
216                      }
217                else
218                {if(p==head->next)
219                   printf("%dx^%d",p->coef,p->exp);
220                 else
221                   printf("+%dx^%d",p->coef,p->exp);
222                }
223             }
224       p=p->next;
225      }
226      printf("\n");
227      return 1;
228 }
229 //========================================================
230 PolyNode* PolyList_Add(PolyNode *lhead,PolyNode *rhead)//多項式相加,rhead將被清空 
231 {  if(PolyList_Empty(lhead)==1||PolyList_Empty(rhead)==1)
232       {
233          printf("No PolyNode Exist,can not do Add\n");
234          return lhead;
235       }
236    PolyNode *p1_front=lhead;
237    PolyNode *p1=lhead->next,*p2=rhead->next;
238    free(rhead);
239    int sum;
240    PolyNode *p2_tmp;
241    while(p1&&p2)
242    {      
243           if(p2->exp == p1->exp)
244                {
245                 if(sum=(p1->coef+p2->coef))
246                     {
247                 
248                          p1->coef=sum;
249                          
250                          p2_tmp=p2->next
251                          free(p2);
252                          p2=p2_tmp;   
253                  
254                          p1_front=p1;
255                          p1=p1->next;
256                         
257                     }
258                  else{
259                          p1_front->next=p1->next;
260                          p2_tmp=p2->next;
261                          free(p2);
262                          p2=p2_tmp;
263                          free(p1);
264                          p1=p1->next;
265                     }
266                }
267                else if(p2->exp < p1->exp )
268                {
269                      p1_front->next=p2;
270                  
271                      p2=p2->next;
272                      p1_front=p1_front->next;
273                      p1_front->next=p1;
274               
275                     
276                }
277                else 
278                {
279                     p1_front=p1;
280                     p1=p1->next;
281                }
282              
283    }
284    if(!p1)
285        p1_front->next=p2;
286  return lhead;
287    
288 
289 //======================================================================
290 PolyNode* PolyList_Dec(PolyNode *lhead,PolyNode *rhead)//多項式減法運算 ,rhead將被清空 
291 {
292    if(PolyList_Empty(lhead)==1||PolyList_Empty(rhead)==1)
293       {
294          printf("No PolyNode Exist,can not do Dec\n");
295          return lhead;
296       }
297    PolyNode *p1_front=lhead;
298    PolyNode *p1=lhead->next,*p2=rhead->next;
299    free(rhead);//將rhead對應的頭節點釋放掉 
300    int sum;
301    PolyNode *p2_tmp;
302    while(p1&&p2)
303    {      
304           if(p2->exp == p1->exp)
305                {
306                 if(sum=(p1->coef-p2->coef))
307                     {
308                 
309                          p1->coef=sum;
310                          
311                          p2_tmp=p2->next
312                          free(p2);
313                          p2=p2_tmp;   
314                  
315                          p1_front=p1;
316                          p1=p1->next;
317                         
318                     }
319                  else{
320                          p1_front->next=p1->next;
321                          p2_tmp=p2->next;
322                          free(p2);
323                          p2=p2_tmp;
324                          free(p1);
325                          p1=p1->next;
326                         
327                     }
328                }
329                else if(p2->exp < p1->exp )
330                {
331                      p1_front->next=p2;
332                      p2->coef=-p2->coef; 
333                      p2=p2->next;
334                      p1_front=p1_front->next;
335                      p1_front->next=p1;
336               
337                     
338                }
339                else 
340                {
341                     p1_front=p1;
342                     p1=p1->next;
343                }
344              
345    }
346    if(!p1)
347    p1_front->next=p2;
348    while(p2)
349       { 
350             p2->coef=-p2->coef;
351             p2=p2->next;
352       }   
353  return lhead;
354  } 
355  //===============================================================
356 float Poly_X_Sum(PolyNode *head,float x)//求任意的X對應的多項式所得的值 
357 {
358     if( PolyList_Empty(head)){
359        printf("No Poly exist or Poly Empty! Can not do X_Sum\n");
360        getch();
361        return 0;
362       }
363     PolyNode *p=head->next
364     float sum=0;
365     float xsum=1;
366     int i=0
367     while(p)
368     {
369       // printf("p->exp=%d\n",p->exp);
370        if(p->exp>0)
371        for( i=0,xsum=1;i!=p->exp;i++)//注意xsum還原為 1! 
372          {  xsum*=x;
373         // printf("xsum --- %f\n",xsum);
374          }
375        if(p->exp<0)
376        for(i=0,xsum=1;i!=p->exp;i--)
377            xsum/=x;
378        if(p->exp==0)
379            xsum=1.0;
380        sum+=(float)p->coef*xsum;   
381     //   printf("xsum=%f\n",xsum); 
382      //  printf("sum=%f\n",sum); 
383             p=p->next;
384         }
385        return sum;
386 }
387 //=================================================
388 PolyNode *PolyList_Der(PolyNode * head)//對多項式求一般的一階導數 
389 {
390   if(PolyList_Empty(head)==1){
391        printf("No Poly Exist! Can not do Der\n");
392        getch();
393        return NULL;
394       }
395   if(PolyList_Empty(head)==2){
396        
397        return head;  //對0求導數還是0,所以返回頭節點就可以 
398        }
399   PolyNode *p_front=head;
400   PolyNode *p=head->next;
401   while(p)
402   {
403           if(0==p->exp)
404           {
405              p_front->next=p->next;
406              free(p);
407              p=p_front->next;
408           }
409           else{
410                p->coef*=p->exp
411                p->exp--
412                p_front=p;
413                p=p->next;
414                }
415   }       
416   return head;
417 }
418 //==================================================
419 PolyNode *PolyList_Der_N(PolyNode * head,int N)//對多項式求N階導數 
420 {//這邊再寫空鏈表的判斷語句是有好處的,以防當鏈表為空時進入循環消耗時間 
421  
422   if(PolyList_Empty(head)==1){ 
423        printf("No Poly Exist!Can not do Der_N\n");
424        getch();
425        return head;
426       }
427   if(PolyList_Empty(head)==2){
428     
429        return head;  //對0求導數還是0,所以返回頭節點就可以 
430        }
431      int i;
432      for( i=0;i!=N;i++)
433          head=PolyList_Der(head); 
434      return head;   
435 }
436 //===============================================================
437 PolyNode *PolyList_Mul(PolyNode *lhead,PolyNode * rhead)//多項式的乘法實現(內部采用復制多項式) 
438 {
439     if(PolyList_Empty(lhead)==1||PolyList_Empty(rhead)==1){
440        printf("No Poly Exist! Can not do Mul\n");
441        getch();
442        return lhead;
443       }
444    if(PolyList_Empty(lhead)==2) {//此處讓結果返回頭節點的意思是若兩個節點其中有一個是空的,則相乘后的結果應該為0. 
445        PolyList_Free(rhead); //同時還要將其中的一個鏈表清除,因為這已經是做了乘法運算了。 
446        return lhead;
447    }
448    if(PolyList_Empty(rhead)==2){//同上 
449        PolyList_Free(lhead); 
450        return rhead;  
451    }
452     PolyNode *p_copy_from_lhead=PolyList_Copy(lhead);//這里已經把第一個多項式的原型給拷貝到一個新的鏈表中; 
453     PolyNode *p_copy_from_lhead_2=NULL;//等會講使用這個指針來從上面的指針拷貝鏈表 
454     PolyNode *p_copy_tmp=NULL;
455     PolyNode *p2_front=rhead;
456     PolyNode *p2=rhead->next;
457     PolyNode *p1=lhead->next;
458     free(p2_front); //將rhead的頭節點處理掉 
459     while(p1)
460     {
461              p1->coef*=p2->coef;
462              p1->exp+=p2->exp;
463              p1=p1->next;
464     }//到此處完成第一個多項式與第二個多項式的第一項的乘法,但是此時的第一個多項式已經被破壞; 
465     //PolyList_View(lhead);
466     p2_front=p2;  
467     p2=p2->next;
468     free(p2_front);//處理掉rhead的第一個節點 
469     while(p2)
470     {
471              p_copy_from_lhead_2=PolyList_Copy(p_copy_from_lhead);
472              p_copy_tmp=p_copy_from_lhead_2->next;
473              while(p_copy_tmp)
474               {
475                      p_copy_tmp->coef*=p2->coef;
476                      p_copy_tmp->exp+=p2->exp;
477                      p_copy_tmp= p_copy_tmp->next;
478               }
479              lhead=PolyList_Add(lhead,p_copy_from_lhead_2);
480              p2_front=p2; 
481              p2=p2->next;
482              free(p2_front);//處理掉p2_front所對應的節點,這樣當循環完成后rhead的所有節點就被清除完畢 
483               //  PolyList_View(lhead);
484             
485     } 
486     PolyList_Free(p_copy_from_lhead);//將拷貝lhead的第一個版本釋放掉 
487     return lhead;
488 }
489 //=====================================================================
490 int main(void)
491 {   printf("輸入多項式1:格式:coef表示任意項的系數 exp表示對應coef項的指數(輸入ceof=0結束exp任意)\n");
492     PolyNode *head_1=NULL;
493     head_1=PolyList_Create(head_1);
494     PolyList_View_2(head_1);
495     printf("輸入多項式2:格式:coef表示任意項的系數 exp表示對應coef項的指數(輸入ceof=0結束exp任意)\n");
496     PolyNode *head_2=NULL;
497     head_2=PolyList_Create(head_1);
498     PolyList_View_2(head_2);
499     PolyNode *head_4=PolyList_Copy(head_2);  
500     printf("得到兩個多項式相加之后的多項式\n");
501     head_1=PolyList_Add(head_1,head_2);
502     PolyList_View_2(head_1);  
503     printf("得到兩個多項式相減之后的多項式\n");
504     
505     head_1=PolyList_Dec(head_1,head_4);
506     PolyList_View_2(head_1);    
507     printf("復制產生一個新的完全一樣的多項式\n");
508     PolyNode *head_3=PolyList_Copy(head_1);  
509     PolyList_View(head_3);  
510     printf("兩個多項式相乘head_1*head_3:\n");
511     head_1=PolyList_Mul(head_1,head_3); 
512     PolyList_View(head_1); 
513     printf("對多項式求一次導數\n");
514     head_1=PolyList_Der(head_1);
515     PolyList_View(head_1);
516     printf("再對多項式求兩次導數\n");//求幾次導就給函數的第二個參數賦多少(例如3就是球三次導數!) 
517     head_1=PolyList_Der_N(head_1,2);
518     PolyList_View_2(head_1);
519     printf("令X=9.0,得到多項式的和\n"); 
520     float  sum=0;
521     float x=9.89;
522     printf("按任意鍵繼續\n"); 
523     getch();
524     sum=Poly_X_Sum(head_1,x);
525     printf("多項式的和為%f\n",sum); 
526     PolyList_Free(head_1);
527     printf("按任意鍵繼續\n"); 
528     getch();
529     return 0;
530 }
531 

Feedback

# re: 多項式單向鏈表實現  回復  更多評論   

2007-10-05 21:20 by chenzhenqiang
加油

# re: 多項式單向鏈表實現  回復  更多評論   

2007-10-06 16:46 by AMXTSHMF
都是代碼撒

# 7170  回復  更多評論   

2008-08-02 15:09 by 7170
7170

# 7170  回復  更多評論   

2008-08-02 15:10 by 7170
0550
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国内精品伊人久久久久av一坑| 欧美成年人在线观看| 亚洲欧美日韩国产中文| 国产欧美日本| 亚洲二区在线视频| 国产精品v欧美精品v日韩| 欧美在线国产| 欧美精品videossex性护士| 亚洲综合精品| 久久久夜色精品亚洲| 午夜精品区一区二区三| 老司机精品视频一区二区三区| 一区二区日本视频| 免费看亚洲片| 蜜桃av一区二区三区| 狠狠干成人综合网| 久久精品视频免费| 午夜精品福利在线| 欧美日韩国产一区二区三区地区 | 亚洲视频www| 欧美刺激性大交免费视频| 麻豆av福利av久久av| 一区在线观看视频| 免费高清在线一区| 欧美福利影院| 亚洲图色在线| 国产欧美日韩亚州综合| 午夜精品在线观看| 久久成人免费网| 国产主播一区二区| 裸体歌舞表演一区二区| 亚洲国产日韩欧美综合久久| 亚洲精品乱码久久久久久黑人 | 一区二区高清视频| 国产精品夜夜嗨| 久久综合伊人| 亚洲图片欧美日产| 久久亚洲精品中文字幕冲田杏梨 | 欧美日本韩国一区二区三区| 亚洲一区二区在线观看视频| 久久久久青草大香线综合精品| 亚洲人在线视频| 国产视频精品va久久久久久| 看欧美日韩国产| 亚洲欧美中文日韩v在线观看| 欧美夫妇交换俱乐部在线观看| 99国产精品久久久久老师| 国产欧美精品在线| 国产精品videosex极品| 久久视频在线免费观看| 制服丝袜激情欧洲亚洲| 亚洲成人中文| 久久综合婷婷| 久久精品国产一区二区三区免费看| 日韩图片一区| 亚洲日本中文字幕| 在线看不卡av| 在线成人激情| 亚洲激情在线激情| **性色生活片久久毛片| 国产一区二区精品| 韩国成人精品a∨在线观看| 国产美女扒开尿口久久久| 欧美日韩一区视频| 国产女主播一区二区三区| 国产午夜精品一区二区三区欧美| 国产亚洲一区二区三区在线观看| 国产精品亚洲综合天堂夜夜| 国产精品大片| 韩国欧美一区| 亚洲人成人一区二区在线观看| 亚洲精品乱码久久久久久久久| 亚洲欧洲偷拍精品| 99国产一区| 久久久久九九视频| 亚洲精品国产精品国自产观看浪潮| 亚洲精品一区二区在线| 亚洲欧美国产另类| 久久亚洲午夜电影| 国产精品久久久久久超碰 | 久久精品欧美日韩| 亚洲黑丝一区二区| 欧美亚洲视频| 国产精品久久久久久久久借妻 | 久久免费视频在线观看| 亚洲免费电影在线| 久久精品99国产精品日本| 国产精品久久久久一区二区| 亚洲国产高清aⅴ视频| 亚洲欧美中日韩| 日韩亚洲精品视频| 欧美freesex8一10精品| 好吊成人免视频| 久久国产精品72免费观看| aa级大片欧美三级| 欧美成人小视频| 亚洲精品免费一区二区三区| 久久男人av资源网站| 欧美一区二区三区精品电影| 国产精品一级久久久| 久久国产精品高清| 黑人中文字幕一区二区三区 | 宅男精品视频| 亚洲婷婷综合久久一本伊一区| 欧美日韩在线一区| 亚洲视频999| 欧美在线观看网站| 136国产福利精品导航网址| 狂野欧美激情性xxxx欧美| 玖玖精品视频| 99综合在线| 欧美一区二区精美| 91久久久久久国产精品| 一区二区久久久久久| 国产一区二区高清| 日韩视频中午一区| 狠狠色丁香婷婷综合影院| 欧美激情亚洲激情| 国产精品久久久久久久久久尿| 久久精品卡一| 国产精品欧美日韩久久| 女女同性女同一区二区三区91| 欧美日本国产一区| 免费观看在线综合| 国产精品一区免费视频| 亚洲电影在线播放| 伊人成综合网伊人222| 亚洲天堂激情| 一本久道久久久| 欧美成人国产一区二区| 午夜视频一区| 国产精品视频xxx| 亚洲精品国产精品乱码不99按摩| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品乱码人人做人人爱| 亚洲精品资源| 99国产精品久久久久老师| 欧美国产一区二区三区激情无套| 久久久久久夜| 伊人婷婷久久| 欧美二区在线看| 一区二区三区日韩欧美| 亚洲图片在区色| 国产精品观看| 欧美一区二区三区免费观看视频 | 久久成人精品无人区| 亚洲自拍电影| 亚洲欧美久久久久一区二区三区| 久久av老司机精品网站导航| 欧美日韩一区二区免费在线观看| 亚洲精品欧美| 中文亚洲欧美| 国产尤物精品| 欧美激情国产日韩| 亚洲色无码播放| 老司机精品福利视频| 亚洲精品一区二区三区99| 国产精品久久久久999| 久久久人成影片一区二区三区观看| 你懂的视频一区二区| 亚洲视频网在线直播| 韩国久久久久| 欧美性做爰猛烈叫床潮| 久久精品国产欧美亚洲人人爽| 亚洲第一视频| 久久夜色精品国产亚洲aⅴ| 中文高清一区| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩在线播| 免费不卡在线观看| 欧美在线视频一区二区三区| 一本色道久久综合亚洲精品不| 久久亚洲影音av资源网| 欧美一区二区免费观在线| 一区二区三区欧美在线观看| 91久久极品少妇xxxxⅹ软件| 国产一区激情| 一区二区三区在线观看欧美| 国产一区二区三区四区三区四 | 亚洲一区二区免费看| 一本综合精品| 亚洲欧美日韩专区| 亚洲欧美日韩中文播放| 久久理论片午夜琪琪电影网| 久久综合色88| 欧美精品18videos性欧美| 欧美色网在线| 国产欧美日韩精品专区| 国内外成人免费激情在线视频| 国产日韩在线一区二区三区| 国产综合色在线| 在线观看欧美| 亚洲视频一区在线| 欧美一级电影久久| 欧美国产在线视频| 日韩视频免费观看| 久久色中文字幕| 欧美午夜精品理论片a级大开眼界| 国模吧视频一区| 在线亚洲电影|