精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺析前綴,后綴,中綴表達式轉化求值問題

開發 前端
上次介紹如何利用棧實現中綴表達式求值,如果我是出題官,當然要考前綴,后綴,中綴表達式相互轉換,然后就變成了利用棧實現前綴和后綴表達式求值。

[[358891]]

 算法,一門既不容易入門,也不容易精通的學問。

上次介紹如何利用棧實現中綴表達式求值,如果我是出題官,當然要考前綴,后綴,中綴表達式相互轉換,然后就變成了利用棧實現前綴和后綴表達式求值。

前綴,后綴,中綴表達式相互轉換及其運算,可以說是計算機考研的一個重點。

首先看下面所示表格:

  • 注意:前序表達式和后序表達式是沒有擴號

這篇文章有對應的圖解:https://mp.weixin.qq.com/s/NRbFXZAXEUeXhKKYY7CReg

中綴表達式轉前綴表達式求值

中綴表達式轉前綴表達式的規則:

  1. 1、反轉輸入字符串,如“2*3/(2-1)+3*(4-1)” 反轉后為“ )1-4(*3+)1-2(/3*2”, 
  2. 2、從字符串中取出下一個字符 
  3.   2.1.如果是操作數,直接輸出 
  4.   2.2.如果是“)”,壓入棧中 
  5.   2.3.如果是運算符但不是“(”,“)”,則不斷循環進行以下處理 
  6.     2.3.1.如果棧為空,則此運算符進棧,結束此步驟 
  7.     2.3.2.如果棧頂是“)”,則此運算符進棧,結束此步驟 
  8.     2.3.2.如果此運算符與棧頂優先級相同或者更高,此運算符進棧,結束此步驟 
  9.     2.3.4.否則,運算符連續出棧,直到滿足上述三個條件之一,然后此運算符進棧 
  10.   2.4、如果是“(”,則運算符連續出棧,直到遇見“)”為止,將“)”出棧且丟棄之 
  11. 3、如果還有更多的字符串,則轉到第2步 
  12. 4、不在有未處理的字符串了,輸出棧中剩余元素 
  13. 5、再次反轉字符串得到最終結果 

經過上面的步驟,得到的輸出既是轉換得到的前綴表達式。

前綴表達式的計算方法:對前綴表達式從后向前掃描,設定一個操作數棧,如果是操作數,則將其直接入棧,如果是操作符,則從棧中彈出操作符對應的操作數進行運算,并將計算結果壓棧。直至從右到左掃描完畢整個前綴表達式,這時操作數棧中應該只有一個元素,該元素的值則為前綴表達式的計算結果。

上面的過程使用數據結構棧來實現,具體代碼如下

  1. ''
  2. @Author:Runsen 
  3. @WeChat:RunsenLiu  
  4. @微信公眾號:Python之王 
  5. @CSDN:https://blog.csdn.net/weixin_44510615 
  6. @Github:https://github.com/MaoliRUNsen 
  7. @Date:2020/12/17 
  8. ''
  9. import re 
  10.  
  11. class Stack(): 
  12.     def __init__(self): 
  13.         self.items = [] 
  14.  
  15.     def push(self, item): 
  16.         return self.items.append(item) 
  17.  
  18.     def pop(self): 
  19.         return self.items.pop() 
  20.  
  21.     def size(self): 
  22.         return len(self.items) 
  23.  
  24.     def peek(self): 
  25.         return self.items[len(self.items) - 1] 
  26.  
  27.     def display(self): 
  28.         print(self.items) 
  29.  
  30. def infix_to_prefix(s): 
  31.     prec = { 
  32.         '*': 3, 
  33.         '/': 3, 
  34.         '+': 2, 
  35.         '-': 2, 
  36.         '(': 4, 
  37.         ')': 1 
  38.     } 
  39.  
  40.     a = re.findall('[1-9]\d*|[\+\-\*\/\(\)]', input('請輸入中綴表達式:')) 
  41.     prefix = [] 
  42.  
  43.     for x in a[::-1]: 
  44.         if re.match('[0-9]', x): 
  45.             #操作數,直接輸出 
  46.             prefix.append(x) 
  47.         else
  48.             #如果是“)”,壓入棧中 
  49.             if x == ')'
  50.                 s.push(x) 
  51.             elif x == '('
  52.                 while True
  53.                     i = s.pop() 
  54.                     if i == ')'
  55.                         break 
  56.                     else
  57.                         prefix.append(i) 
  58.             else
  59.                 if s.size() > 0 and prec[x] <= prec[s.peek()]: 
  60.                     prefix.append(s.pop()) 
  61.                 s.push(x) 
  62.     for _ in range(s.size()): 
  63.         prefix.append(s.pop()) 
  64.     return prefix[::-1] 
  65.      
  66. def cal_prefix(s, prefix): 
  67.     # 思路:對前綴表達式從后向前掃描,設定一個操作數棧,如果是操作數,則將其直接入棧,如果是操作符,則從棧中彈出操作符對應的操作數進行運算,并將計算結果壓棧。 
  68.     # 直至從右到左掃描完畢整個前綴表達式,這時操作數棧中應該只有一個元素,該元素的值則為前綴表達式的計算結果。 
  69.     for x in prefix[::-1]: 
  70.         if re.match('[0-9]', x): 
  71.             s.push(x) 
  72.         else
  73.             a2 = int(s.pop()) 
  74.             a1 = int(s.pop()) 
  75.             if x == '*'
  76.                 a = a1 * a2 
  77.             elif x == '/'
  78.                 a = a2 / a1 
  79.             elif x == '+'
  80.                 a = a1 + a2 
  81.             else
  82.                 a = a2 - a1 
  83.             s.push(a) 
  84.     return s.pop() 
  85.  
  86. if __name__ == '__main__'
  87.     s = Stack() 
  88.     prefix = infix_to_prefix(s) 
  89.     print('前綴表達式:', prefix) 
  90.     prefix_val = cal_prefix(s, prefix) 
  91.     print('前綴表達式計算結果:', prefix_val) 
  92.  
  93. 請輸入中綴表達式:2*3/(2-1)+3*(4-1) 
  94. 前綴表達式: ['+''*''2''/''3''-''2''1''*''3''-''4''1'
  95. 前綴表達式計算結果: 15 
  96. 請輸入中綴表達式:9+(3-1*2)*3+10/2 
  97. 前綴表達式: ['+''+''9''*''-''3''*''1''2''3''/''10''2'
  98. 前綴表達式計算結果: 17 

中綴表達式轉換為后綴表達式求值

中綴表達式轉后綴表達式的規則:

1.遇到操作數,直接輸出;

2.棧為空時,遇到運算符,入棧;

3.遇到左括號,將其入棧;

4.遇到右括號,執行出棧操作,并將出棧的元素輸出,直到彈出棧的是左括號,左括號不輸出;

5.遇到其他運算符’+”-”*”/’時,彈出所有優先級大于或等于該運算符的棧頂元素,然后將該運算符入棧;

6.最終將棧中的元素依次出棧,輸出。

經過上面的步驟,得到的輸出既是轉換得到的后綴表達式。

后綴表達式的計算方法:對后綴表達式從前向后掃描,設定一個操作數棧,如果是操作數,則將其直接入棧,如果是操作符,則從棧中彈出操作符對應的操作數進行運算,并將計算結果壓棧。直至從右到左掃描完畢整個后綴表達式,這時操作數棧中應該只有一個元素,該元素的值則為后綴表達式的計算結果。

上面的過程使用數據結構棧來實現,具體代碼如下:

  1. ''
  2. @Author:Runsen 
  3. @WeChat:RunsenLiu 
  4. @微信公眾號:Python之王 
  5. @CSDN:https://blog.csdn.net/weixin_44510615 
  6. @Github:https://github.com/MaoliRUNsen 
  7. @Date:2020/12/17 
  8. ''
  9. import re 
  10.  
  11. class Stack(): 
  12.     def __init__(self): 
  13.         self.items = [] 
  14.  
  15.     def push(self, item): 
  16.         return self.items.append(item) 
  17.  
  18.     def pop(self): 
  19.         return self.items.pop() 
  20.  
  21.     def size(self): 
  22.         return len(self.items) 
  23.  
  24.     def peek(self): 
  25.         return self.items[len(self.items) - 1] 
  26.  
  27.     def display(self): 
  28.         print(self.items) 
  29.  
  30.  
  31. def infix_to_postfix (s): 
  32.     prec = { 
  33.         '*': 3, 
  34.         '/': 3, 
  35.         '+': 2, 
  36.         '-': 2, 
  37.         '(': 1, 
  38.         ')': 4 
  39.     } 
  40.  
  41.     a = re.findall('[1-9]\d*|[\+\-\*\/\(\)]', input('請輸入中綴表達式:')) 
  42.     postfix = [] 
  43.  
  44.     for x in a: 
  45.         if re.match('[0-9]', x): 
  46.             # 操作數,直接輸出 
  47.             postfix.append(x) 
  48.         else
  49.             # 如果是“(”,壓入棧中 
  50.             if x == '('
  51.                 s.push(x) 
  52.             elif x == ')'
  53.                 while True
  54.                     i = s.pop() 
  55.                     if i == '('
  56.                         break 
  57.                     else
  58.                         postfix.append(i) 
  59.             else
  60.                 if s.size() > 0 and prec[x] <= prec[s.peek()]: 
  61.                     postfix.append(s.pop()) 
  62.                 s.push(x) 
  63.     for _ in range(s.size()): 
  64.         postfix.append(s.pop()) 
  65.     return postfix 
  66.  
  67.  
  68. def cal_postfix (s, postfix): 
  69.     for x in postfix: 
  70.         if re.match('[0-9]', x): 
  71.             s.push(x) 
  72.         else
  73.             a1 = int(s.pop()) 
  74.             a2 = int(s.pop()) 
  75.             if x == '*'
  76.                 a = a1 * a2 
  77.             elif x == '/'
  78.                 a = a2 / a1 
  79.             elif x == '+'
  80.                 a = a1 + a2 
  81.             else
  82.                 a = a2 - a1 
  83.             s.push(a) 
  84.     return s.pop() 
  85.  
  86.  
  87. if __name__ == '__main__'
  88.     s = Stack() 
  89.     postfix = infix_to_postfix(s) 
  90.     print('后綴表達式:', postfix) 
  91.     postfix_val = cal_postfix (s, postfix) 
  92.     print('后綴表達式計算結果:', postfix_val) 
  93.  
  94.  
  95. 請輸入中綴表達式:2*3/(2-1)+3*(4-1) 
  96. ['2''3''*''2''1''-''/''3''4''1''-'
  97. 后綴表達式: ['2''3''*''2''1''-''/''3''4''1''-''*''+'
  98. 后綴表達式計算結果: 15 
  99. 請輸入中綴表達式:9+(3-1*2)*3+10/2 
  100. 后綴表達式: ['9''3''1''2''*''-''3''*''10''2''/''+''+'
  101. 后綴表達式計算結果: 17 

其實此題是Leetcode第150題,逆波蘭表達式求值。

根據 逆波蘭表示法,求表達式的值。

有效的運算符包括 +, -, *, / 。每個運算對象可以是整數,也可以是另一個逆波蘭表達式。

  1. 示例 1: 
  2.  
  3. 輸入: ["2""1""+""3""*"
  4. 輸出: 9 
  5. 解釋: 該算式轉化為常見的中綴算術表達式為:((2 + 1) * 3) = 9 
  6. 示例 2: 
  7.  
  8. 輸入: ["4""13""5""/""+"
  9. 輸出: 6 
  10. 解釋: 該算式轉化為常見的中綴算術表達式為:(4 + (13 / 5)) = 6 

前綴表達式轉中綴表達式

從右往左開始,取出一個操作符和操作符右邊的兩個數進行計算,并將計算的結果放過去,直到計算結束。以前綴表達式+/*23-21*3-41為例,將其轉換為中綴表達式:

(1)取出-、4、1,計算并將結果放回得到+/*23-21*3(4-1);

(2)取出*、3、(4-1),計算并將結果放回得到+/*23-21(3*(4-1));

(3)取出-、2、1,計算并將結果放回得到+/*23(2-1)(3*(4-1));

(3)取出*、2、3,計算并將結果放回得到+/(2*3)(2-1)(3*(4-1));

(4)取出/、(2*3)、(2-1),計算并將結果放回得到+((2*3)/(2-1))(3*(4-1));

(5)取出+、((2*3)/(2-1))、(3*(4-1)),計算將結果放回得到((2*3)/(2-1))+(3*(4-1)),計算結束,顯然計算結果為15。

后綴表達式轉中綴表達式從左向右開始,取出一個操作符和操作符左邊的兩個數進行計算,并將計算的結果放過去,直到計算結束,以后綴表達式23*21-/341-*+為例,將其轉換為中綴表達式:(1)取出2、3、*,計算并將結果放回得到(2*3)21-/341-*+;

(2)取出2,1,-,計算并將結果放回得到(2*3)(2-1)/341-*+;

(3)取出(2*3)、(2-1)、/,計算并將結果放回得到((2*3)/(2-1))341-*+;

(4)取出4,1,-,計算并將結果放回得到((2*3)/(2-1)) 3(4-1)*+;

(5)取出3,(4-1),*,計算并將結果放回得到((2*3)/(2-1)) 3*(4-1)+;

(6)取出((2*3)/(2-1)),3*(4-1),+,計算并將結果放回得到((2*3)/(2-1)) + 3*(4-1),顯然計算結果為15。

本文已收錄 GitHub: https://github.com/MaoliRUNsen/runsenlearnpy100

 

責任編輯:姜華 來源: Python之王
相關推薦

2009-09-09 17:45:07

Linq表達式

2009-09-16 17:15:57

正則表達式引擎

2023-12-13 10:12:40

Python函數lambda

2019-04-16 13:30:05

表達式求值數據結構算法

2010-07-19 10:40:16

Perl正則表達式

2009-09-17 09:09:50

Lambda表達式Linq查詢

2009-08-07 15:16:10

C#正則表達式

2009-09-16 11:17:12

PHP正則表達式定位字

2009-09-16 15:45:56

email的正則表達式

2009-08-11 16:03:13

C#運算符

2022-11-24 06:33:43

表達式求值運算

2021-03-14 08:27:40

Java數據結構算法

2009-08-20 15:06:51

C#正則表達式

2009-08-20 15:02:41

C#正則表達式

2009-08-20 15:10:33

C#正則表達式

2009-08-20 14:57:00

C#正則表達式

2009-09-16 18:03:05

Java正則表達式正則表達式實現

2010-10-08 09:17:07

JavaScript表JavaScript運

2009-08-20 13:09:28

C#正則表達式

2009-09-16 13:24:30

PHP正則表達式匹配
點贊
收藏

51CTO技術棧公眾號

精品露脸国产偷人在视频| 亚洲精品午夜av福利久久蜜桃| 大桥未久av一区二区三区| 欧美一进一出视频| av免费在线不卡| 国产欧美日本| 欧美成人在线网站| www.av天天| 视频精品国内| 欧美午夜在线一二页| www.好吊操| 在线激情网站| eeuss影院一区二区三区| 国产精品日韩专区| 一区二区三区视频免费看| 成人羞羞动漫| 亚洲精品视频在线观看视频| 下面一进一出好爽视频| 成人天堂yy6080亚洲高清| 亚洲日本在线a| 欧美午夜免费| 欧美特级特黄aaaaaa在线看| 久久国产精品免费| 噜噜爱69成人精品| 亚洲欧美日本精品| 丰满人妻一区二区三区免费视频棣| 欧美日韩五码| 精品日本高清在线播放| 香蕉视频免费版| 91成人高清| 久久久久88色偷偷免费| 国产一区二区自拍| 亚洲黄色在线观看视频| 国产在线日韩欧美| 国产精品爽黄69| 亚洲av无码精品一区二区| 欧美va天堂| 久久影视免费观看 | 美女视频黄频大全不卡视频在线播放| 欧美区在线播放| 欧美人与禽zoz0善交| 欧美调教在线| 亚洲精品aⅴ中文字幕乱码 | 久久久久久久久伊人| 国产精品日韩一区二区| 午夜老司机福利| 国产精品亚洲人在线观看| 91精品久久久久久| 91亚洲精品国偷拍自产在线观看| 老牛影视一区二区三区| 青青草成人在线| www.国产com| 久久大逼视频| 国产v综合v亚洲欧美久久| 亚洲视频 欧美视频| 久久三级福利| 国产91色在线播放| 亚洲天堂五月天| 日本在线不卡视频| 国产欧美日韩精品丝袜高跟鞋| 波多野结衣一本一道| 秋霞午夜av一区二区三区| 国产精品欧美日韩久久| 91精品视频免费在线观看| 国内成人精品2018免费看| 亚洲a一级视频| 高清乱码毛片入口| 久久亚洲免费视频| 亚洲精品二区| 最近中文字幕免费mv2018在线| 一区二区欧美国产| 日韩欧美一区二| 你懂得影院夜精品a| 欧美日韩电影在线播放| 亚洲成人av免费观看| 一区二区三区高清在线观看| 亚洲国产精品中文| 亚洲av成人无码久久精品| 99久久婷婷| 欧美激情精品久久久久久黑人| 国产午夜激情视频| 日韩精品一二三四| 亚洲r级在线观看| 日韩永久免费视频| 国产欧美精品一区| 日韩精品一区二区在线视频| 深夜在线视频| 777亚洲妇女| 亚洲精品在线视频免费观看| 欧美久久综合网| 欧美成人精品不卡视频在线观看| 全部毛片永久免费看| 美日韩一级片在线观看| 国产高清精品一区| 91美女视频在线| 亚洲成人精品一区二区| 最近中文字幕一区二区| 亚洲视频三区| 在线观看免费高清视频97| 欧美成人免费观看视频| 久久九九免费| 99r国产精品视频| 高清av电影在线观看| 亚洲一二三专区| 日韩精品你懂的| 欧美午夜18电影| 欧美日本精品在线| 中文字幕在线观看你懂的| 白白色亚洲国产精品| 亚洲 欧洲 日韩| 中文字幕这里只有精品| 欧美xingq一区二区| 在线观看免费黄色网址| 一区二区三区精品视频在线观看| 91麻豆桃色免费看| 福利在线播放| 欧美日韩精品二区| www.四虎精品| 亚洲精品国产首次亮相| 国产精品入口免费视频一| 亚洲av成人无码网天堂| 亚洲在线观看免费视频| 亚洲第一区第二区第三区| 久久99青青| 91国产视频在线| 亚洲精品久久久蜜桃动漫| 国产精品乱码一区二三区小蝌蚪| 国产成人a亚洲精v品无码| 成人福利一区| 欧美日韩国产123| 黄色精品在线看| 国产精品香蕉国产| 无码国产伦一区二区三区视频 | av在线播放中文字幕| 99亚洲一区二区| 操一操视频一区| 黄色网址视频在线观看| 91黄视频在线观看| 国产精品三级在线观看无码| 最新亚洲视频| 国产精品二区三区| 污视频网站免费在线观看| 91精品欧美久久久久久动漫| 99久久精品久久亚洲精品| 日韩电影免费在线观看网站| 欧美亚洲另类在线一区二区三区| 亚洲欧洲美洲av| 精品无人国产偷自产在线| 日本一级黄色录像| 成人高清av在线| 日韩亚洲欧美视频| 国产伦理久久久久久妇女| 久久久中文字幕| 免费观看a视频| 一区二区三区高清在线| 成年人看片网站| 一区精品久久| 久草一区二区| 美女日韩欧美| 综合136福利视频在线| 一起草av在线| 亚洲精品久久久蜜桃| 免费看91视频| 亚洲一区激情| 人偷久久久久久久偷女厕| 国精产品一区一区三区四川| 中文字幕精品一区二区精品| 一区二区日韩在线观看| 国产精品久久久久久久久快鸭| 91女神在线观看| 欧美激情综合| 久久精品国产第一区二区三区最新章节| 亚洲国产成人二区| 这里只有精品在线观看| 国产人妖一区二区| 亚洲国产精品久久人人爱| 久久丫精品国产亚洲av不卡 | 亚洲三区在线观看| 日本午夜小视频| 成人avav影音| 日本老熟妇毛茸茸| 亚洲乱码在线| 精品视频一区二区| 精品久久毛片| 久久久久久网站| www在线播放| 精品乱人伦小说| 国产成人无码av| 亚洲色大成网站www久久九九| 无码成人精品区在线观看| 日本特黄久久久高潮| 国产小视频免费| 精品国产一区二区三区小蝌蚪| 成人在线精品视频| 波多一区二区| 日韩在线视频线视频免费网站| 亚洲精品国产精| 欧美主播一区二区三区| 久久久久久久极品内射| 国产蜜臀av在线一区二区三区| av地址在线观看| 奇米综合一区二区三区精品视频| 精品人妻少妇一区二区| 四虎8848精品成人免费网站| 久久精品人人做人人爽电影| 国产免费区一区二区三视频免费| 日本久久久久久久| 黄网站在线观| 久久天天躁夜夜躁狠狠躁2022| 欧美日韩影视| 日韩av在线网址| 国产福利第一页| 欧美日韩一区久久| 超碰中文字幕在线| 伊人一区二区三区| 九一在线免费观看| 久久久99精品久久| 国产chinese中国hdxxxx| 狠狠色狠狠色综合日日91app| 最近免费中文字幕中文高清百度| 亚洲国产日韩欧美一区二区三区| 在线观看18视频网站| 精品午夜久久| 秋霞毛片久久久久久久久| 老司机精品在线| 国产精品yjizz| av男人一区| 91免费看网站| 国产精品中文| 91系列在线播放| 亚洲欧美久久精品| 国产精品麻豆va在线播放| www.成人影院| 日韩av免费网站| xxxxxx欧美| 欧美做受高潮电影o| 九色porny自拍视频在线观看| 久久久久久18| sis001亚洲原创区| 国产综合在线看| heyzo在线| 国外成人免费在线播放| 成人福利电影| 久久久免费精品| 黄色视屏在线免费观看| 欧美亚洲视频在线看网址| 性国裸体高清亚洲| 国产激情久久久久| 日本成人福利| 成人免费观看网址| 久久久精品区| 国产精品二区三区| 香蕉久久99| 五月婷婷综合色| 欧美激情777| 日本一区二区三区四区五区六区| 亚洲视频电影在线| av日韩在线看| 中国女人久久久| 日本成人中文字幕在线| 理论片日本一区| 香蕉视频xxxx| www.99精品| 日本精品在线观看视频| 亚洲欧洲日韩综合一区二区| 加勒比婷婷色综合久久| 亚洲成a人片在线观看中文| 一级片中文字幕| 精品视频一区二区不卡| 91在线观看喷潮| 亚洲丁香婷深爱综合| 九九在线视频| 久久国产精品亚洲| 性孕妇free特大另类| 国产精品久久一区| 日韩免费成人| 蜜桃传媒视频第一区入口在线看| 日本a级不卡| 91免费黄视频| 日本色综合中文字幕| 女王人厕视频2ⅴk| 91麻豆免费观看| 91高清免费观看| 黄色一区二区在线观看| 97超碰人人草| 日韩av综合中文字幕| 蜜桃视频在线观看免费视频网站www| 欧美成人在线影院| 色婷婷综合久久久中字幕精品久久| 成人激情av在线| 香蕉人人精品| 黄色成人在线免费观看| 蜜桃av噜噜一区| 日本少妇xxxx| 自拍偷拍亚洲激情| 欧美a视频在线观看| 日韩欧美成人一区二区| 大胆av不用播放器在线播放| 欧美黑人极品猛少妇色xxxxx| 色豆豆成人网| 国偷自产av一区二区三区小尤奈| 99久久激情| 欧美 激情 在线| 处破女av一区二区| 影音先锋男人看片资源| 欧美性猛xxx| 亚洲国产精品一| 日韩一区视频在线| 超碰aⅴ人人做人人爽欧美| 成人欧美一区二区三区视频xxx | 国产午夜亚洲精品一级在线| 日本欧洲国产一区二区| 一本久道综合久久精品| 极品白嫩少妇无套内谢| 国产精品国产三级国产普通话三级 | 婷婷精品进入| 久久久久久香蕉| 91理论电影在线观看| 69精品久久久| 欧美一区二区免费视频| 337p日本欧洲亚洲大胆鲁鲁| 日本久久久久久久久| 欧美亚洲tv| 青青草精品视频在线| 国产91精品精华液一区二区三区| 久久久久久久麻豆| 欧美日韩国产综合草草| 国产福利电影在线| 日韩免费av片在线观看| 台湾色综合娱乐中文网| 久草热视频在线观看| av电影一区二区| 日本污视频在线观看| 亚洲成人av在线播放| 人妖欧美1区| wwwxx欧美| 在线观看亚洲| 国产极品一区二区| 香蕉成人伊视频在线观看| 免费看黄色一级视频| 97视频在线观看免费| 人人网欧美视频| 国模吧无码一区二区三区| 久久综合一区二区| 亚洲GV成人无码久久精品| 亚洲欧美在线免费观看| 欧美成人影院| 新呦u视频一区二区| 激情综合色播激情啊| www.99re7| 精品国一区二区三区| 大菠萝精品导航| 久久精品人人做人人爽电影| 久久精品官网| 国产人与禽zoz0性伦| 日韩一区二区三区视频| 91极品在线| 国内精品一区二区| 石原莉奈在线亚洲二区| 国产三级精品三级观看| 欧美tk—视频vk| 欧美办公室脚交xxxx| 日韩精品久久一区| 国内久久精品视频| 日本少妇毛茸茸高潮| 亚洲美女在线视频| 日本中文字幕视频一区| av动漫在线免费观看| 91在线精品秘密一区二区| 国产精品第6页| 欧美精品在线网站| 日韩美女国产精品| 天天影视色综合| 亚洲一区二区黄色| 国产小视频在线播放| 国产在线一区二区三区| 亚洲成人直播| 最新中文字幕av| 精品人在线二区三区| 日韩毛片免费观看| 超级碰在线观看| 久久精品综合网| 国产av一区二区三区| 日韩**中文字幕毛片| 欧美影视一区| 久久久久无码精品国产sm果冻| 91精品国产综合久久精品app| 国产欧洲在线| 成人手机视频在线| 91色视频在线| 国产精品自偷自拍| 欧洲亚洲免费在线| 欧美99在线视频观看| 午夜时刻免费入口| 亚洲白拍色综合图区| 99久久婷婷国产综合精品首页| 日韩av高清在线看片| 亚洲天天做日日做天天谢日日欢| 日韩精品福利| 99久久精品无码一区二区毛片 |