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

newplan

阿基米德在洗澡時發(fā)現浮力原理,高興得來不及穿上褲子,跑到街上大喊: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;//當鏈表頭節(jié)點都沒有的時候返回 1; 
 25  if(head->next==NULL)
 26         return 2;//當鏈表只存在頭節(jié)點的時候返回 2; 
 27         else return 0//當鏈表即存在頭節(jié)點又存在實節(jié)點的時候返回 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)//創(chuàng)建一個多項式鏈表 
 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前面節(jié)點的指針,完成復制鏈表的鏈接工作; 
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剛剛申請到的新節(jié)點; 
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對應的頭節(jié)點釋放掉 
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,所以返回頭節(jié)點就可以 
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 {//這邊再寫空鏈表的判斷語句是有好處的,以防當鏈表為空時進入循環(huán)消耗時間 
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,所以返回頭節(jié)點就可以 
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) {//此處讓結果返回頭節(jié)點的意思是若兩個節(jié)點其中有一個是空的,則相乘后的結果應該為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的頭節(jié)點處理掉 
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的第一個節(jié)點 
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所對應的節(jié)點,這樣當循環(huán)完成后rhead的所有節(jié)點就被清除完畢 
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("按任意鍵繼續(xù)\n"); 
523     getch();
524     sum=Poly_X_Sum(head_1,x);
525     printf("多項式的和為%f\n",sum); 
526     PolyList_Free(head_1);
527     printf("按任意鍵繼續(xù)\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>
            亚洲中无吗在线| 国内精品视频666| 夜夜嗨av一区二区三区四季av| 欧美刺激性大交免费视频 | 中文日韩在线| 亚洲午夜电影网| 国产一区二区三区直播精品电影 | 久久国产婷婷国产香蕉| 国内综合精品午夜久久资源| 久久一区二区三区四区| 欧美96在线丨欧| 亚洲欧美成人一区二区在线电影| 午夜在线视频观看日韩17c| 在线日本欧美| 亚洲福利视频专区| 欧美精品午夜视频| 久久成人免费日本黄色| 美女主播一区| 午夜精品理论片| 免费成人av| 午夜精品久久久| 免费成人你懂的| 性做久久久久久久免费看| 久久久综合精品| 亚洲欧美日韩精品久久久| 久久人人97超碰人人澡爱香蕉| 99这里有精品| 久久久福利视频| 亚洲天堂成人| 美女亚洲精品| 久久久久久久久一区二区| 先锋影音一区二区三区| 免费试看一区| 久久激情五月婷婷| 欧美午夜不卡在线观看免费 | 欧美成ee人免费视频| 国产精品成人一区二区三区吃奶 | 欧美多人爱爱视频网站| 国产精品视频你懂的| 91久久香蕉国产日韩欧美9色| 国产欧美日韩精品a在线观看| 亚洲国产精品久久久久秋霞蜜臀| 国产欧美综合在线| 中文有码久久| 99天天综合性| 欧美精品导航| 亚洲激情综合| 亚洲国产日韩在线| 久久性色av| 久久乐国产精品| 国产欧美日韩在线| 亚洲综合色噜噜狠狠| 亚洲视频999| 欧美日韩精品一区| 最新国产の精品合集bt伙计| 亚洲国产高清视频| 久久久久久久精| 久久夜色精品| 狠狠久久五月精品中文字幕| 欧美一区二区网站| 久久久福利视频| 韩曰欧美视频免费观看| 欧美一区1区三区3区公司| 欧美在线视屏| 国产日韩欧美在线看| 午夜激情综合网| 久久成人一区| 黑人极品videos精品欧美裸| 久久国产一二区| 免费观看日韩| 亚洲美女淫视频| 欧美日韩国产一区二区三区| 99re8这里有精品热视频免费 | 亚洲福利视频专区| 欧美成人国产一区二区| 亚洲精华国产欧美| 亚洲在线观看| 国产亚洲观看| 久久综合九色综合久99| 亚洲破处大片| 午夜精品久久久久久久久久久久久 | 麻豆精品视频在线| 亚洲国产欧美日韩精品| 一本大道久久a久久综合婷婷| 欧美色播在线播放| 国内精品美女av在线播放| 久久久一区二区| 性伦欧美刺激片在线观看| 欧美制服丝袜| 91久久国产自产拍夜夜嗨| 欧美巨乳在线| 香蕉免费一区二区三区在线观看| 国产精品成人在线| 欧美成人影音| 午夜精品免费在线| 激情五月婷婷综合| 欧美黄色一区| 欧美一级视频精品观看| 亚洲国产成人高清精品| 亚洲视频在线视频| 在线成人免费视频| 国产精品劲爆视频| 久久综合激情| 亚洲综合日韩在线| 最近中文字幕mv在线一区二区三区四区| 亚洲综合另类| 亚洲精品美女久久7777777| 国产精品看片你懂得| 媚黑女一区二区| 亚洲欧美日韩一区二区| 亚洲国产精品久久久久久女王| 美日韩精品视频免费看| 另类激情亚洲| 国语自产偷拍精品视频偷| 国产精品日韩一区| 欧美激情视频在线播放| 欧美一区二区三区在线观看 | 欧美一级艳片视频免费观看| 性色av香蕉一区二区| 欧美在线观看一区二区| 久久野战av| 亚洲高清在线视频| 日韩一级二级三级| 亚洲图片在区色| 久久精品国产久精国产思思| 免费人成精品欧美精品| 欧美日韩伦理在线免费| 国产精品视频免费观看| 在线播放中文一区| 日韩午夜精品视频| 欧美影院午夜播放| 欧美韩日视频| 亚洲午夜激情在线| 久久综合狠狠综合久久综青草 | 看片网站欧美日韩| 亚洲国产精品t66y| 亚洲一区综合| 欧美1区2区| 国产女人精品视频| 最新69国产成人精品视频免费| 亚洲特级毛片| 欧美大胆a视频| 亚洲永久网站| 欧美国产一区视频在线观看| 国产精品一区视频网站| 亚洲国产日韩在线| 欧美大片免费观看在线观看网站推荐| 亚洲一区二区欧美日韩| 久久女同精品一区二区| 国产精品yjizz| 亚洲人www| 国产视频一区欧美| 国产精品wwwwww| 亚洲国产精品专区久久| 欧美在线免费观看| 日韩一本二本av| 免费视频一区二区三区在线观看| 国产精品porn| 亚洲每日更新| 久久免费的精品国产v∧| 一本色道久久综合一区| 欧美 日韩 国产 一区| 国产亚洲一区二区三区在线观看 | 久久尤物视频| 亚洲午夜在线观看视频在线| 夜夜嗨av一区二区三区网站四季av | 亚洲美女在线国产| 久久免费精品日本久久中文字幕| 国产精品久久久久一区二区| 亚洲人成绝费网站色www| 久久久欧美一区二区| 亚洲免费中文字幕| 欧美日韩一区二区三| 亚洲欧洲综合| 免费看亚洲片| 久久九九全国免费精品观看| 国产女主播一区| 欧美一区二区三区久久精品| 一区二区三区国产精华| 欧美日韩一区免费| 日韩一区二区精品| 亚洲高清资源综合久久精品| 久久久人成影片一区二区三区| 国产丝袜美腿一区二区三区| 欧美一级免费视频| 午夜精品久久久久久久蜜桃app| 欧美性猛交xxxx乱大交退制版| 99视频精品全部免费在线| 亚洲国产一区视频| 欧美大片在线影院| 亚洲国产高清高潮精品美女| 欧美va天堂va视频va在线| 麻豆精品在线观看| 亚洲欧洲午夜| 亚洲激情网址| 欧美日韩国产在线| 亚洲一区二区三区四区视频| 亚洲一本视频| 国产在线精品一区二区夜色| 麻豆精品精华液|