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

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>
            欧美一区二区三区婷婷月色| 亚洲国产电影| 久久爱www久久做| 欧美成人午夜| 一区二区三区精品视频| 亚洲人成网站777色婷婷| 欧美成人一区二区三区| 亚洲人成在线播放| 夜夜躁日日躁狠狠久久88av| 欧美日韩午夜| 久久久久这里只有精品| 亚洲在线电影| 99亚洲精品| 久久久久国产精品一区二区| 亚洲欧洲美洲综合色网| 一区二区欧美国产| 国产精品久久久久久久久久免费看 | 9色porny自拍视频一区二区| 亚洲美女视频| 欧美日韩成人一区二区| 久久综合伊人77777蜜臀| 暖暖成人免费视频| 欧美一区二区三区的| 欧美极品欧美精品欧美视频| 一区二区三区欧美视频| 国产精品日韩精品| 日韩视频一区| 亚洲激情第一区| 午夜伦理片一区| 欧美在线啊v| 国产精品一区三区| 亚洲肉体裸体xxxx137| 亚洲国产综合视频在线观看| 午夜精品久久久久99热蜜桃导演| 亚洲国产欧美国产综合一区| 亚洲欧美日韩精品久久久| 亚洲永久免费视频| 欧美系列电影免费观看| 日韩一级黄色片| av不卡在线观看| 久久精品国产第一区二区三区最新章节 | 欧美日韩美女一区二区| 亚洲国产精品精华液2区45| 亚洲伦理一区| 日韩网站在线看片你懂的| 女人天堂亚洲aⅴ在线观看| 久久免费视频网站| 亚洲精品乱码久久久久久按摩观| 欧美日韩一区二区在线视频 | 国产美女精品| 欧美3dxxxxhd| 久久精品麻豆| 免费不卡视频| 一区二区三区日韩欧美精品| 欧美丝袜第一区| 欧美成人中文字幕| 欧美一区1区三区3区公司| 91久久久在线| 久久激情中文| 亚洲欧美激情视频| 国产资源精品在线观看| 欧美日韩国产二区| 欧美1区免费| 免费国产自线拍一欧美视频| 一区二区三区久久| 亚洲福利精品| 免费欧美高清视频| 亚洲综合国产精品| 亚洲精品1区| 亚洲激情电影在线| 黄色成人在线| 欧美日韩影院| 亚洲精品久久在线| 91久久精品国产91性色| 亚洲国产成人久久综合| 国产一区二区高清| 国产综合色一区二区三区| 国内成+人亚洲| 亚洲第一精品夜夜躁人人爽| 国产亚洲欧洲| 亚洲精品乱码久久久久久蜜桃麻豆| 韩国在线一区| 亚洲视频一二区| 久久久久久久综合| 亚洲黑丝在线| 亚洲香蕉视频| 久久综合久久久久88| 国语精品一区| 精久久久久久| 亚洲国产精品成人一区二区| 久久午夜av| 亚洲免费在线视频一区 二区| 乱人伦精品视频在线观看| 欧美激情女人20p| 中日韩视频在线观看| 久久中文字幕一区| 久热国产精品| 欧美三级网址| 欧美在线国产精品| 免费日韩成人| av72成人在线| 久久精品九九| ●精品国产综合乱码久久久久| 亚洲欧美制服另类日韩| 噜噜噜噜噜久久久久久91| 亚洲一区二区av电影| 蜜桃av一区二区| 亚洲黑丝在线| 欧美多人爱爱视频网站| 欧美在线高清视频| 欧美日韩综合久久| 欧美伊久线香蕉线新在线| 99v久久综合狠狠综合久久| 免费欧美在线| 亚洲区在线播放| 欧美va亚洲va香蕉在线| 久久精品一区四区| 99re热这里只有精品免费视频| 亚洲精品国产精品乱码不99| 欧美色综合网| 午夜精品久久久久久久久久久| 亚洲国产日韩欧美一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产欧美日韩在线| 欧美韩日视频| 国产精品va在线| 亚洲色图自拍| 欧美在线高清| 欧美一区二区三区啪啪| 国产精品99久久久久久久女警| 国产精品一区二区三区乱码| 性欧美xxxx视频在线观看| 久久久久久一区二区| 久久国产精品99精品国产| 久久亚洲春色中文字幕久久久| 亚洲精品视频啊美女在线直播| 99亚洲视频| 亚洲国产综合在线| 亚洲男人天堂2024| 亚洲精品国久久99热| 午夜精品一区二区三区四区| 亚洲激情网址| 欧美一区亚洲| 亚洲你懂的在线视频| 亚洲国产一区在线| 夜夜嗨av一区二区三区四季av| 狠狠色丁香婷婷综合影院| 亚洲精品免费在线| 亚洲在线一区| 国产一区二区三区最好精华液| 午夜久久美女| 欧美一区二区私人影院日本| 国产欧美日韩免费| 久久国产乱子精品免费女| 亚洲综合激情| 国产日韩欧美91| 久久久久久久999精品视频| 久久婷婷亚洲| 亚洲国产清纯| 欧美日韩91| 久久福利影视| 99热这里只有精品8| 久久激情婷婷| 在线日韩中文字幕| 国产精品xnxxcom| 久久人人爽国产| 99视频国产精品免费观看| 久久久精品久久久久| 一本色道久久综合狠狠躁篇怎么玩| 国产精品chinese| 久久米奇亚洲| 午夜精品亚洲| 一本久道久久综合狠狠爱| 午夜视频精品| 亚洲日本电影| 久久久久久一区二区| 亚洲一区www| 99精品欧美一区二区三区综合在线| 国产精品久久久久影院亚瑟| 久热精品视频在线观看一区| 亚洲美女在线视频| 亚洲精品自在在线观看| 欧美激情亚洲精品| 久久婷婷国产综合尤物精品| 久久久久久久97| 美日韩免费视频| 久久色在线观看| 久久香蕉国产线看观看av| 亚洲综合国产激情另类一区| 夜夜嗨一区二区三区| 999亚洲国产精| 亚洲午夜久久久久久久久电影院| 亚洲人成在线观看| 亚洲区免费影片| 日韩一级二级三级| 一区二区日韩伦理片| 久久se精品一区精品二区| 快射av在线播放一区| 欧美中日韩免费视频| 亚洲欧美视频在线观看|