圖解|從武俠角度探究STL排序算法的奧秘

C語言與CPP編程 2021-07-09 20:52

前言

今天來看一下STL中的sort算法的底層實現和代碼技巧。

眾所周知STL是借助于模板化來支撐數據結構和算法的通用化,通用化對于C++使用者來說已經很驚喜了,但是如果你看看STL開發者強大的陣容就意識到STL給我們帶來的驚喜絕不會止步于通用化,強悍的性能和效率是STL的更讓人驚艷的地方。

STL極致表現的背后是大牛們爐火純青的編程技藝和追求極致的工匠精神的切實體現。

筆者能力所限,只能踏著前人的肩膀來和大家一起看看STL中sort算法的背后究竟隱藏著什么,是不是有種《走進科學》的既視感,讓我們開始今天的sort算法旅程吧!

內省式哲學

在了解sort算法的實現之前先來看一個概念:內省式排序,說實話筆者的語文水平確實一般,對于這個詞語用在排序算法上總覺得不通透,那就研究一下吧!

內省式排序英文是Introspective Sort,其中單詞introspective是內省型的意思,還是不太明白,繼續搜索,看一下百度百科對這個詞條的解釋:

內省(Introspection )在心理學中,它是心理學基本研究方法之一。內省法又稱自我觀察法。它是發生在內部的,我們自己能夠意識到的主觀現象。也可以說是對于自己的主觀經驗及其變化的觀察。

正因為它的主觀性,內省法自古以來就成為心理學界長期的爭論。另外內省也可看作自我反省,也是儒家強調的自我思考。從這個角度說可以應用于計算機領域,如Java內省機制和cocoa內省機制。

好家伙,原來內省是個心理學名詞,到這里筆者有些感覺了,內省就是自省、自我思考、根據自己的主觀經驗來觀察變化做出調整,而不是把希望寄托于外界,而是自己的經驗和能力。

通俗點說,內省算法不挑數據集,盡量針對每種數據集都能給定對應的處理方法,讓排序都能有時間保證。

寫到這里,讓筆者腦海浮現了《倚天屠龍記》里面張無忌光明頂大戰六大門派的場景,無論敵人多么強悍或者羸弱,我都按照自己的路子應對。

他強由他強,清風拂山崗;
他橫由他橫,明月照大江;
他自狠來他自惡,我自一口真氣足。
---《九陽真經》達摩

哲學啊,確實這樣的,我們切換到排序的角度來看看內省是怎么樣的過程。

筆者理解的內省式排序算法就是不依賴于外界數據的好壞多寡,而是根據自己針對每種極端場景下做出相應的判斷和決策調整,從而來適應多種數據集合展現出色的性能。

內省式排序

俗話說俠者講究刀、槍、劍、戟、斧、鉞、鉤、叉等諸多兵器,這也告訴我們一個道理沒有哪種兵器是無敵的,只有在某些場景下的明顯優勢,這跟軟件工程沒有銀彈是一樣的。

回到我們的排序算法上,排序算法也可謂是百花齊放:冒泡排序、選擇排序、插入排序、快速排序、堆排序、桶排序等等。

雖然一批老一輩的排序算法是O(n^2)的,優秀的算法可以到達O(nlogn),但是即使都是nlogn的快速排序和堆排序都有各自的長短之處,插入排序在數據幾乎有序的場景下性能可以到達O(n),有時候我們應該做的不是沖突對比而是融合創新。

內省排序是由David Musser在1997年設計的排序算法。這個排序算法首先從快速排序開始,當遞歸深度超過一定深度(深度為排序元素數量的對數值)后轉為堆排序,David Musser大牛是STL領域響當當的人物。

拋開語境一味地對比孰好孰壞其實都沒有意義,內省式排序就是集大成者,為了能讓排序算法達到一個綜合的優異性能,內省式排序算法結合了快速排序、堆排序、插入排序,并根據當前數據集的特點來選擇使用哪種排序算法,讓每種算法都展示自己的長處,這種思想確實挺啟發人的。

內省排序的排兵布陣

前面提到了內省式排序主要結合了快速排序、堆排序、插入排序,那么不禁要問,這三種排序是怎么排兵布陣的呢?

知己知彼百戰不殆,所以先看下三種排序的優缺點吧!

快速排序

在大量數據時無論是有序還是重復,使用優化后的算法大多可以到達O(nlogn),雖然堆排序也是O(nlogn)但是由于某些原因快速排序會更快一些,當遞歸過深分割嚴重不均勻情況出現時會退化為O(n^2)的復雜度,這時性能會打折扣,這也就是快速排序的短處了。

堆排序

堆排序是快速排序的有力競爭者,最大的特點是可以到達O(nlogn)并且復雜度很穩定,并不會像快速排序一樣可能退化為O(n^2),但是堆排序過程中涉及大量堆化調整,并且元素比較是跳著來的對Cache的局部性特征利用不好,以及一些其他的原因導致堆排序比快速排序更慢一點,但是大O復雜度仍然是一個級別的。

插入排序

插入排序的一個特點是就像我們玩紙牌,在梳理手中的牌時,如果已經比較有序了,那么只需要做非常少的調整即可,因此插入排序在數據量不大且近乎有序的情況下復雜度可以降低到O(n),這一點值得被應用。

優缺點也大致清楚了,所以可以猜想一下內省式排序在實際中是如何調度使這三種排序算法的:

  • 啟動階段 面對大量的待排序元素,首先使用快速排序進行大刀闊斧排序,復雜度可以在O(nlogn)運行

  • 深入階段 在快速排序使用遞歸過程中,涉及棧幀保存切換等諸多遞歸的操作,如果分區切割不當遞歸過深可能造成棧溢出程序終止,因此如果快速排序過程中退化為O(n^2),此時會自動檢測切換為堆排序,因為堆排序沒有惡化情況,都可以穩定在O(nlogn)

  • 收尾階段 在經過快排和堆排的處理之后,數據分片的待排序元素數量小于某個經驗設定值(可以認為是遞歸即將結束的前幾步調用)時,數據其實已經幾乎有序,此時就可以使用插入排序來提高效率,將復雜度進一步降低為O(n)。

寫到這里,筆者又天馬行空地想到了一個場景:

2005年春晚小品中黃宏和鞏漢林出演的《裝修》中黃宏作為裝修工人手拿一大一小兩把錘子,大錘80小錘40,大小錘頭切換使用。

其實跟內省排序切換排序算法是一個道理,所以技術源于生活又高于生活,貼圖一張大家一起體會一下:

用了很多篇幅來講內省思想和內省式排序,相信大家也已經get到了,所以我們具體看下實現細節,這個才是本文的重點,我們繼續往下一起分析吧!

sort算法的實現細節

本文介紹的sort算法是基于SGI STL版本的,并且主要是以侯捷老師的《STL源碼剖析》一書為藍本來進行展開的,因此使用了不帶仿函數的版本,讓我們來一起領略大牛們的杰作吧!圖為筆者買了很久卻一直壓箱底的STL神書:

sort函數的應用場景

SGI STL中的sort的參數是兩個隨機存取迭代器RandomAccessIterator,sort的模板也是基于此種迭代器的,因此如果容器不是隨機存取迭代器,那么可能無法使用通用的sort函數。

  • 關聯容器 map和set底層是基于RB-Tree,本身就已經自帶順序了,因此不需要使用sort算法

  • 序列容器 list是雙向迭代器并不是隨機存取迭代器,vector和deque是隨機存取迭代器適用于sort算法

  • 容器適配器 stack、queue和priority-queue屬于限制元素順序的容器,因此不適用sort算法。

綜上我們可以知道,sort算法可以很好的適用于vector和deque這兩種容器。

sort總體概覽

前面介紹了內省式排序,所以看下sort是怎么一步步來使用introsort的,上一段入口代碼:

template <class RandomAccessIterator>
inline void sort(RandomAccessIterator first, RandomAccessIterator last) {
    if (first != last) {
        __introsort_loop(first, last, value_type(first), __lg(last - first) * 2);
        __final_insertion_sort(first, last);
    }
}

從代碼來看sort使用了first和last兩個隨機存取迭代器,作為待排序序列的開始和終止,進一步調用了__introsort_loop和__final_insertion_sort兩個函數,從字面上看前者是內省排序循環,后者是插入排序。其中注意到__introsort_loop的第三個參數__lg(last - first)*2,憑借我們的經驗來猜(蒙)一下吧,應該遞歸深度的限制,不急看下代碼實現:

template <class Size>
inline Size __lg(Size n){
    Size k;
    for(k = 0;n > 1;n >>= 1) ++k;
    return k;
}

這段代碼的意思就是n=last-first,2^k<=n的最大整數k值。

所以整體看當假設last-first=20時,k=4,最大分割深度depth_max=4*2=8,從而我們就可以根據first和last來確定遞歸的最大深度了。

快速排序和堆排序的配合 __introsort_loop函數中主要封裝了快速排序和堆排序,來看看這個函數的實現細節:

//sort函數的入口
template <class RandomAccessIterator, class T, class Size>
void __introsort_loop(RandomAccessIterator first,
                      RandomAccessIterator last, T*,
                      Size depth_limit) {
    while (last - first > __stl_threshold) {
        if (depth_limit == 0) {
            partial_sort(first, last, last);//使用堆排序
            return;
        }
        --depth_limit;//減分割余額
        RandomAccessIterator cut = __unguarded_partition
          (first, last, T(__median(*first, *(first + (last - first)/2),
                                   *(last - 1))));//三點中值法分區過程
        __introsort_loop(cut, last, value_type(first), depth_limit);//子序列遞歸調用
        last = cut;//迭代器交換 切換到左序列
    }
}
//基于三點中值法的分區算法
template <class RandomAccessIterator, class T>
RandomAccessIterator __unguarded_partition(RandomAccessIterator first, 
                                           RandomAccessIterator last, 
                                           T pivot) {
while (true) {
    while (*first < pivot) ++first;
    --last;
    while (pivot < *last) --last;
    if (!(first < last)) return first;
    iter_swap(first, last);
    ++first;
}

各位先不要暈更不要蒙圈,一點點分析肯定可以拿下的。

  • 先看參數兩個隨機存取迭代器first和last,第三個參數是__lg計算得到的分割深度;

  • 這時候我們進入了while判斷了last-first的區間大小,__stl_threshold為16,侯捷大大特別指出__stl_threshold的大小可以是5~20,具體大小可以自己設置,如果大于__stl_threshold那就才會繼續執行,否則跳出;假如現在區間大小大于__stl_threshold,判斷第三個參數depth_limit是否為0,也就是是否出現了分割過深的情況,相當于給了一個初始最大值,然后每分割一次就減1,直到depth_limit=0,這時候調用partial_sort,從《stl源碼剖析》的其他章節可以知道,partial_sort就是對堆排序的封裝,看到這里有點意思了主角之一的heapsort出現了;

  • 繼續往下看,depth_limit>0 尚有分割余額,那就燥起來吧!這樣來到了__unguarded_partition,這個函數從字眼看是快速排序的partiton過程,返回了cut隨機存取迭代器,__unguarded_partition的第三個參數__median使用的是三點中值法來獲取的基準值Pivot,至此快速排序的partition的三個元素集齊了,最后返回新的切割點位置;

  • 繼續看馬上搞定啦,__introsort_loop出現了,果然遞歸了,特別注意一下這里只有一個遞歸,并且傳入的是cut和last,相當于右子序列,那左子序列怎么辦啊?別急往下看,last=cut峰回路轉cut變成了左子序列的右邊界,這樣就開始了左子序列的處理;

快速排序的實現對比

前面提到了在sort中快速排序的寫法和我們之前見到的有一些區別,看了一下《STL源碼剖析》對快排左序列的處理,侯捷老師是這么寫的:"寫法可讀性較差,效率并沒有比較好",看到這里更蒙圈了,不過也試著分析一下吧!

圖為:STL源碼剖析中侯捷老師對該種寫法的注釋

常見寫法:

//快速排序的常見寫法偽代碼
quicksort(arr,left,right){
    pivoit = func(arr);//使用某種方法獲取基準值
    cut = partition(left,right,pivot);//左右邊界和基準值來共同確定分割點位置
    quicksort(arr,left,cut-1);//遞歸處理左序列
    quicksort(arr,cut+1,right);//遞歸處理右序列
}

SGI STL中的寫法:

stl_quicksort(first,last){
      //循環作為外層控制結構
      while(ok){
         cut = stl_partition(first,last,_median(first,last));//分割分區
         stl_quicksort(cut,last);//遞歸調用 處理右子序列
         last = cut;//cut賦值為last 相當于切換到左子序列 再繼續循環
   }
}

網上有一些大佬的文章說sgi stl中快排的寫法左序列的調用借助了while循環節省了一半的遞歸調用,是典型的尾遞歸優化思路。

這里我暫時還沒有寫測試代碼做對比,先占坑后續寫個對比試驗,再來評論吧,不過這種sgi的這種寫法可以看看哈。

堆排序的細節

//注:這個是帶自定義比較函數的堆排序版本
//堆化和堆頂操作
template <class RandomAccessIterator, class T, class Compare>
void __partial_sort(RandomAccessIterator first, RandomAccessIterator middle,
                    RandomAccessIterator last, T*, Compare comp) {
    make_heap(first, middle, comp);
    for (RandomAccessIterator i = middle; i < last; ++i)
        if (comp(*i, *first))
            __pop_heap(first, middle, i, T(*i), comp, distance_type(first));
    sort_heap(first, middle, comp);
}
//堆排序的入口
template <class RandomAccessIterator, class Compare>
inline void partial_sort(RandomAccessIterator first,
                         RandomAccessIterator middle,
                         RandomAccessIterator last, Compare comp) {
    __partial_sort(first, middle, last, value_type(first), comp);
}

插入排序上場了

__introsort_loop達到__stl_threshold閾值之后,可以認為數據集近乎有序了,此時就可以通過插入排序來進一步提高排序速度了,這樣也避免了遞歸帶來的系統消耗,看下__final_insertion_sort的具體實現:

template <class RandomAccessIterator>
void __final_insertion_sort(RandomAccessIterator first, 
                            RandomAccessIterator last) {
    if (last - first > __stl_threshold) {
        __insertion_sort(first, first + __stl_threshold);
        __unguarded_insertion_sort(first + __stl_threshold, last);
    }
    else
        __insertion_sort(first, last);
}

來分析一下__final_insertion_sort的實現細節吧:

  • 引入參數隨機存取迭代器first和last

  • 如果last-first > __stl_threshold不成立就調用__insertion_sort,這個相當于元素數比較少了可以直接調用,不用做特殊處理;

  • 如果last-first > __stl_threshold成立就進一步再分割成兩部分,分別調用__insertion_sort和__unguarded_insertion_sort,兩部分的分割點是__stl_threshold,不免要問這倆函數有啥區別呀?

__insertion_sort的實現

//逆序對的調整
template <class RandomAccessIterator, class T>
void __unguarded_linear_insert(RandomAccessIterator last, T value) {
    RandomAccessIterator next = last;
    --next;
    while (value < *next) {
        *last = *next;
        last = next;
        --next;
    }
    *last = value;
}

template <class RandomAccessIterator, class T>
inline void __linear_insert(RandomAccessIterator first, 
                            RandomAccessIterator last, T*) {
    T value = *last;
    if (value < *first) {
        copy_backward(first, last, last + 1);//區間移動
        *first = value;
    }
    else
        __unguarded_linear_insert(last, value);
}

//__insertion_sort入口
template <class RandomAccessIterator>
void __insertion_sort(RandomAccessIterator first, RandomAccessIterator last) {
    if (first == last) return
    for (RandomAccessIterator i = first + 1; i != last; ++i)
        __linear_insert(first, i, value_type(first));
}

在插入函數中同樣出現了__unguarded_xxx這種形式的函數,unguarded單詞的意思是無防備的,無保護的,侯捷大大提到這種函數形式是特定條件下免去邊界檢驗條件也能正確運行的函數。

copy_backward也是一種整體移動的優化,避免了one by one的調整移動,底層調用memmove來高效實現。

__unguarded_insertion_sort的實現

template <class RandomAccessIterator, class T>
void __unguarded_insertion_sort_aux(RandomAccessIterator first, 
                                    RandomAccessIterator last, T*) {
    for (RandomAccessIterator i = first; i != last; ++i)
        __unguarded_linear_insert(i, T(*i));
}

template <class RandomAccessIterator>
inline void __unguarded_insertion_sort(RandomAccessIterator first, 
                                RandomAccessIterator last) {
    __unguarded_insertion_sort_aux(first, last, value_type(first));
}

關于插入排序的這兩個函數的實現和目的用途,展開起來會很細致,所以后面想著單獨在寫插入排序時單獨拿出了詳細學習一下,所以本文就暫時先不深究了,感興趣的讀者可以先行閱讀相關資料,后續我們再共同辯駁哈!

總結

本文主要闡述了內省式排序的思想和基本實現思路,并且以此為切入點對sgi stl中sort算法的實現來進行了一些解讀。

stl的作者們為了追求極致性能所以使用了大量的技巧,對此本文并沒有過多展開,也主要是段位不太高怕解讀錯了,聰明的讀者們可以嘗試來剖析一探大牛們的巔峰技藝。

C語言與CPP編程 C語言/C++開發,C語言/C++基礎知識,C語言/C++學習路線,C語言/C++進階,數據結構;算法;python;計算機基礎等
評論
  • 一、方案簡介在Buildroot構建的嵌入式Linux系統中部署Flutter應用,主流有兩套成熟的開源方案,分別適配不同的顯示場景與開發需求:方案一:flutter-elinux(Sony開源方案)由索尼官方維護的嵌入式Linux Flutter工具鏈,既支持DRM/GBM直接渲染,也兼容Wayland、X11等多種顯示后端,場景適配性更廣。方案二:flutter-pi(輕量級嵌入器)一款輕量級Flutter引擎宿主程序,僅基于底層DRM/GBM接口實現渲染,無需依賴桌面環境,資源占用更低,更
    飛凌嵌入式 2026-08-07 09:34 180瀏覽
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 206瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩定起振的成品,要經過十幾道精密工序。它內部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產過程里哪怕0.1微米的誤差,都會直接廢掉整批產品,這也是小尺寸晶振過去長期依賴進口,國內廠商花了十幾年才啃下量產硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 539瀏覽
  • 讓微弱脈沖信號更清晰——鎖相放大器集成Boxcar平均器在脈沖激光、泵浦-探測、時間分辨光譜、飛行時間質譜等實驗中,真正需要測量的信號往往只出現在一個很短的時間窗口內,卻被淹沒在遠大于它的噪聲和背景之中。 針對這類穩定重復的微弱脈沖與瞬態信號,賽恩科儀為OE2052雙通道數字鎖相放大器帶來全新的Boxcar Averager功能升級:在鎖相檢測之外,進一步提供從周期波形觀察、門控測量到多周期平均的完整數字Boxcar測量鏈路。 Boxcar平均器,如何從噪聲中“截取”目標信號?Boxcar平均器
    SSI_賽恩科儀 2026-08-07 15:49 18116瀏覽
  • 做電池供電攝像頭、可視門鈴、戶外安防的同學應該都踩過這個坑:攝像頭要拍,ISP、sensor、無線模塊全得開著,整機電流動輒幾百 mA。一節 18650 撐不了幾天,用戶投訴“怎么又沒電了”。有人會說:加個 PIR 人體紅外不就行了?問題是 PIR 怕熱、怕寵物、怕隔著亞克力/玻璃殼,而且只能感知“有溫差的人體移動”,靈敏度飄忽。真正省電的思路應該是:讓攝像頭平時徹底睡死,只有“前面有人/有動靜”時才被一鍵喚醒——而負責這個“看門”角色的,最合適的是一顆低功耗雷達。一、為什么是雷達,而不是 PI
    唯創知音語音芯片 2026-08-07 14:44 196瀏覽
  • 導語在現代高速數字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態脈沖干擾,這類干擾持續極短,卻足以在高速鏈路中引發誤觸發。然而,傳統函數發生器受限于采樣率與邊沿速率,根本無法忠實復現如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 216965瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網和狀態上報。三件事拆開,早先的常規做法是音頻藍牙一顆料、數傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創知音語音芯片 2026-08-06 15:14 382瀏覽
  • 產品使用18V供電,配套4串鋰離子電池,需要設計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關型的充電控制芯片不穩定。嘗試自行設計一個。整體采用分立三極管 + TL431架構,分4個功能單元:使能控制回路、限流環路、TL431 精密恒壓反饋環路、PNP 功率管主功率輸出回路;實現完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經 R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導通,對地拉低 R1、R2 組成的分壓控制節點電位;該節點直
    southcreek 2026-08-07 13:45 489瀏覽
  • 摘要東莞市恒創連接器有限公司(HCHGCONN)是位于廣東東莞的連接器源頭制造工廠,專注于連接器國產替代、小間距大電流連接器、線對板連接器、線對線連接器、板對板連接器、電源連接器及定制連接器開發。公司面向工業自動化、新能源儲能、BMS、汽車電子、AI服務器、GPU供電、通信設備、醫療設備和智能家居等場景,提供從產品選型、替代評估、樣品驗證到批量交付的一站式連接方案。恒創可支持 Molex、TE Connectivity、JST、Hirose、Samtec 等國際品牌部分系列的國產替代評估。常見替
    HC003 2026-08-07 10:14 176瀏覽
  • 文:杜杰編輯:侯煜當地時間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設備——境外生產的先進機器人設備、境外生產的聯網電力逆變器。FCC在官方情況說明書中明確,該類境外制造產品,“會對美國國家安全或美國民眾的人身安全構成無法承受的風險”。本次新規設置明確豁免機制:經美國國防部(DoW)、電力逆變器品類經美國國土安全部(DHS)審核并授予“有條件批準”,認定對應設備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 370瀏覽
  • 樓宇自控里的“巴別塔”一棟智慧樓宇、一個產業園區里,暖通空調運行著廠商私有協議,照明系統遵循專屬通信標準,變配電、門禁安防各成體系——設備間數據壁壘森嚴,上位平臺對接全靠定制化 “翻譯” 開發,不僅成本高企,交付周期也難以管控。這就是樓宇自控行業多年的痛點:協議林立、封閉林立。而破局的鑰匙,早在30多年前就已經寫好了——BACnet。作為ASHRAE制定的樓宇自控國際標準協議,BACnet是如今全球樓宇自控系統(BAS)互聯互通的“通用語言”。新風機、冷源群控、變配電、照明、門禁,凡是需要被樓宇
    飛凌嵌入式 2026-08-10 09:26 217瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 波多野结衣torrent| 力王监狱完整版国语高清免费观看| 亡羊补牢免费| 白峰高清在线观看免费| 一个女人韩剧全集免费观看| 特种兵之火凤凰27| 睫毛膏4美国中文版| 神话片头曲| 宇将军被磊真实| xl司令第一季全集在线观看完整版免费 | 贝拉1980电影| 《先婚后爱》网剧| 迷你特工队x| 渔夫荒野史完整版免费观看高清| 传奇技术| 特种兵之火凤凰45| 夫妻交换电影| 幸福触手可及收电视剧| 暗潮危机电影完整版在线观看| 总统夫人在线观看免费完整版| 再世情缘| 电影 教室别恋| 张警官三部曲免费观看百度网盘 | 女超人法国版无删减版| 樱桃电影| 厨房激战2最新集预告| 欧美1一5普通话| 人生大事朱一龙电影高清在线观看 | HD版泰山《激战丛林》完整版免费免费| 铃村健一drama| 龚玥菲新金甁梅剧照| 韩国综艺节目runningman| 彼岸灯塔| 哇嘎全部免费观看| 真心英雄| 罗克星克莱尔所有电影在线观看| 电影断背山| 死亡笔记电影在线观看| 食来孕转电视剧| 五星大饭店| 女版战狼10免费观看入口| 家和万事兴之兄弟姐妹| 《法国空乘4》电影| 苍兰诀动漫在线观看完整版| 电视剧满江红在线观看| 一路向西线播放完整版| 渔夫荒野史记1988版电影在线观看| 雪中悍刀行40集免费| 朝国的继拇2| 《百劫红颜》| 鬼吹灯之怒晴湘西在线观看| 机器生活完整版| 异形夺命| 梦想成为魔法少女免费观看全集| 电影《意大利夫人》在线观看| 洪湖赤卫队| 《社长夫人》天使萌剧免费观看| 动漫解说一口气看完| 火线全集| 刘德华台北演唱会| 脔到她哭H粗话H好爽五星视频| 女超人麦迪乐版| 皇家猎杀| 女版捉鬼敢死队满天星| 蜜桃成熟33d 下载| 国风按摩院在线免费观看| 我愿意韩剧| 杰克逊经典歌曲下载| 僵尸医生高清| jiandangweiye| (女学生的滋味)HD| 处女膜电影| 四少妇精油按摩| 特种部队电影| 台北女子图鉴电视剧| 亲密2001版| 年轻人不懂如何谈恋爱第一季观看 | 超科学的电磁炮| 想你21| 唇亡齿寒电影| 侠盗飞车圣安地列斯热咖啡| 家属动漫1-6全集免费观看| 第三次初恋| 免费观看电影克莱尔的迷宫 | 小王子建房教程| 风筝电视剧完整版| 聚会的目的地2完整有限中字| 落魄贵族琉璃川在线观看动漫免费| 兰陵王的歌曲| 《禁忌家族》大结局| 扫黑风暴连续剧| 西安到昆明的火车事故| 浪漫的逃亡| 姐姐的朋友5完整视频有翻译| 伊波拉病毒2部未删减完整国语版| 狙击蝴蝶电视剧全集| 暴躁46集全在线观看免费高清| 将门嫡女沙场:不输男儿郎短剧全集| 与部长出差旅行日本电影叫什么| 女武神驱动免费观看| 1983版高山下的花环| 天龙八部在线观看完整版免费| 国家宝藏1在线| 花样男子中文版全集| 临终千言| 白峰美羽电影| 图书馆女友2季动漫观看| 美国粉红大白莱| 高清《纵情欲海》1无删减| 妈妈的职业2hb| 北京奥运会2008年开幕式| 木下凛凛子在线观看| 《初体验5》完整版| 美国丽人剧情| 武乡县| 河神在线观看| 动感之星| 美女大战精子1| 在姨母家的客厅完整版 | 一见终情短剧免费观看全集高清版 | 幽魂解说| 良医第一季在线观看免费完整版| 碧海青天珍珠旗| 理论免费| 父亲在线观看完整版| 一个女人韩剧8| 局长太大太粗进不去| 酒店1-50集全集免费观看高清| 高清《纠缠》24年最新上映的电影| 荣誉法则凯登杰西斯托雅| 美国爱情片真爱禁区片段| 保险公司的推销员8中字手机 | 娱乐女王:黑红爆红短剧全集| 《私人航空》在线看中文| 年轻的嫂2| 法国电影《女流氓》的剧情简介| 数字媒体技术专业就业方向及前景| 王凯和蒋欣真的要结婚了吗| 《品味人生》观看免费| 美国式禁忌4百度影音| 色九月h| 赌博默示录第三季| 需要爸爸播种子电影完整版| 疯狂动物城英语版免费| 森奈奈子伦理片免费在线观看| 鬼灭之刃第二季全集免费观看| 满江红免费完整版在线观看| 假小子电影| 被系统选中需要jy滋养身体| 《温泉旅行》在线观看免费| 台湾甄嬛传| 我同学的妈妈双字ID全集免费| 宫锁珠帘27| 麻花传剧无痕mv免费观看天美| 爱情中毒| 盛唐风流电影免费观看| 未来罪行| 意大利语95版泰山在线播放| 我是乡巴佬| 坎贝奇品味人生| 《僵尸叔叔》国语版免费观看| 寂寞护士1-40集免费观看在线| 女人的秘密2电视剧在线| 天师斗僵尸免费高清在线观看| 高清棒球大联盟| 公子不可求| 外来妹电视剧免费播放在线观看| 大哥的女人电影电视剧在线观看| 非人哉のエロ动漫| 萨达姆墓| 红毯先生免费版完整在线观看| 哺乳期能烫头发吗| 日本动漫《花嫁高柳家》第一集| 猫狗大战1在线国语免费观看| 《房奴试爱》截取了一段开头| 八佰免费完整版在线观看| 731部队配狗免费观看| 五妹电影在线观看| 啄木鸟:女版《壮志凌云》夸克| 贤妻电视剧全集下载| 倔强驱魔师1-4集免费动漫在线观看樱| 潘金莲荡秋千吃葡萄是谁演的| 罗丽星克莱尔性迷宫在线播放| 双人调教电影观看| 古装三级| 白宫发言人与记者发生争执| 珠海体育中心撞人事件| 加勒比海盗1百度影音| 密桃成熟时33d国语| 斗罗大陆观看免费完整版| 麻辣豆腐在线观看| 地火电视剧40全集播放| 《示范销售避孕套》剧情介绍| 转世传说| 色诱修理工在线看| 中华英雄电影免费国语在线观看 | 小丈夫电视剧| 宫本武藏的徒弟| 童话镇第一季| 绿草地免费| 杀出黎明电视剧全集| 爱之美神在线观看免费完整版| 女王之剑| 空中营救| 杜拉拉升职记电影版| 五福临门电视剧分集剧情| 魔道祖师动漫全集| 大锅饭养懒汉| 一人之下第五季第7集| 电车之狼R通关攻略| 最新港剧| 电影美乃雀主演替夫还债| 杨丽花歌仔戏薛丁山| 冰雪奇缘成人片在线观看 | jiqingwang| 和部长偷亲电影完整版| 玉女聊斋电影全集| 借爸爸种子| 花琉璃轶闻电视剧全集免费观看| 按摩胸部 电影| 郭德纲 九尾狐| 阿朱无删减版HD免费观看| 红灯记伴奏| 西班牙《掌中之物》完整版免费| 白鹿原全集免费播放| 年轻瘦子hd| 婚纱小天使粤语| 赵薇资本布局已20年| 圣诞树折纸| 维修工的艳遇 中字| 菜肉馄饨| 咒术回战0剧场版| 霍金怎么说话| 进口媳妇在线观看免费西瓜| 本乡爱拍的电影| 同居的日子| 缅甸农村姑娘2| 碧血剑林家栋版全集| 电影《爱与自由》在线观看免费| 腾格尔没放过《爱你》| 想要爸爸播种子在线观看 | 周星驰鹿鼎记1| 东方红简谱| 家属动漫完整版在线观看| 梅开二度| 《天气之子》| 郭晶晶红外线| 兄妹高清完整版在线观看| 鬼吹灯 黄皮子坟| 拿猪肉去二嫂家换米的台湾电影| 原来神马电影手机在线观看完整版 | 石榴红了电视剧全集在线观看| 西游降魔篇粤语高清| 名侦探柯南在线观看免费国语版| 恶女教师百度影音| 17岁国语版| 寄生兽韩国| 卧底归来免费全集在线观看| 觉醒的她全集免费观看| 急速狂飙| 自w到抖还要继续吗| 我心里有危险的东西| 僵尸大战世界| 春雨电影大全免费观看高清| 驯龙记电影| 孽欲狐鬼| 鬼吹灯之天星术日本版在哪可以看| 妄想学生会ova| 刻晴大战史莱姆免费观看外服 | 《夕颜》动漫番剧全集免费观看| 亲爱的回家免费观看完整版电视剧| 《陷入我们的热恋》电视剧| 鬼吹灯之天星术| 八月未央电影| 男女愁愁愁在线观看免费| 大宋少年志2结局| 爱上义子的女人刚刚和你告别| 立陶宛大使被通知离境| 360大佬爱上我第一季完整版| 花样男子韩版百度影音| 美国式保罗讳4免费| 诺亚方舟:创世之旅| 《航空服务4》电影| 深喉2在线欧美| 莫莉5特别酒店| 聊斋之千年灵狐在线观看| 老友记在线观看| 隋唐英雄传4部| 高清《日本三国》电视剧 | 电视剧女特工风云| 男性按摩师| 双人舞茶山情歌| 美式保罗2在线观看免费| 爱的创可贴结局| 浏阳市| 谁是凶手免费观看完整版| 子夜归一共多少集| 神探夏洛克第二季01| 魔窟寻谍| 姐姐真漂亮5韩剧免费观看全集| gogogo高清在线怎么开始| 塞伦意大利1997地爆天星| 学园天堂动漫| 晚安为我而眠的妹妹免费观看| 天龙八部免费观看在线完整版| 《V酒店第二季》全集免费观看 | 皇城根儿| 工藤拉拉电影在线观看| 高清《雨天》谍战片免费观看 | 少妇按摩记| 电影欲望的游戏| 恋爱结婚电视剧| 回家的诱惑电视剧免费完整版| 重返20岁迅雷下载| 还魂韩剧免费| 婚后的诱惑| 意大利电影《渔夫和妻子》主演 | 赤裸兵团| 一见钟情皆是爱短剧| 无名电视剧全集免费播放在线观看| 爱的理想生活大结局| 警探迷案| 正好时光| 《地铁蓝衣女》完整剧名叫什么来着| 漂亮的女客栈| 妈妈爱上我的男朋友| 手机电影在线播放| 战狼6欧氏少女全部剧情介绍大全视频| 男与女韩剧电视剧结局免费观看| 他揉捏她两乳不停呻吟动漫视频| 电视剧冬至全集免费播放在线观看 | 男按摩师中字电影| 氪金玩家的3d动漫| 女销售楼的秘密| 再见 阿郎| 机器人总动员国语| 普通话版1-5集在线观看 | 韩剧《仅夜晚见面》播放| 法国高压监狱2完整免费高清原声满天星| 电影《野兽暗夜》完整版观看| 重生之逆转人生短剧全集| 变形记全集2013| 色之恶鬼| 24世纪性格爱情指南大结局 | 猎狼人电视剧全集| 新的哥哥2在线观看| 小伙有娃前后变化大被认成爷爷| 陈宝莲电影《满天星》| 活佛济公下载| 卢旺达的玫瑰在线| 咱们结婚吧 电影| 恐怖照相馆| 拥抱MV| 别动我手机| 五月天 电影| 高清《非常案件》全集观看| 金牌销售无删减版| 底线 电视剧| 女老师的诱惑在线免费观看| 电影小蓝第二部| 按摩3一4| 高清《牧马人》电影完整版| 《万》观看完整版| 电视剧铁面歌女| 无敌少侠 第四季未删减| 秘密搜查官の女1吉沢明歩| 流浪地球2超清在线观看免费| 兔子先生免费全集在线观看| 欢喜冤家电影| 妈妈2免费观看完整电视剧中文版 穿越时空的爱恋免费观看完整版 打雀英雄传 | 美人制造| 美国版《小蜜蜂》4| 恋爱大战| 她在丈夫面前被搬运工耍了| 金瓶梅电视剧| 怎样打中国结| 海之声如如免费完整版动漫| 小土豆歌曲完整版| 欧式少女第16集全集更新时间| 前辈让我们尽情的相爱吧第一集| 陆弃娘传短剧全集免费观看高清| 插曲的痛30集全集免费观看第二季 | 选择全对:神级人生全集免费| 1—5集普通话版免费| 恶搞广告| 电视剧虎胆雄心全集免费观看| 与蛇有关的电影| 媒体:高铁之大理应放得下卫生巾| 正妻的愤怒短剧免费全集| 南线大追歼| 女子护卫队满天星| 奇门偃甲师在线观看完整版免费| 男人女人一起愁愁愁电视剧免费不打马塞克 | 兄弟姐妹第二季| 失宠王妃之结缘| 超级教师3免费版电视剧在| 百亿富豪| 538AV| 临沂新闻综合频道| 柯震东郭采洁| 爱的色放3 完整版| 电影《法国空姐2》| 3d柔铺团之极宝乐鉴宝鉴电影虞书欣 | 战狼6大牛影库| 普法栏目剧听见凉山6| 赛伦1996年的电影| 《唐朝诡事录》第二季| 仁心解码粤语| 玄好心经46| 非常突然| 一起相愁愁愁电视剧在线观看| 西游降魔篇票价| 法国空姐看完整免费高清原声奔跑吧 | 小776| 电影《人脉王》在线观看| 不良义姐真人| 武林外传电视剧| 信宜市| 喵不可言| 美国式家庭的忌| 《真相》在线观看免费| 法国空乘1980版未删减版下载 | 邻家特工电影| 督错了洞| 银魂123| 爱情面前谁怕谁31| 美国版荷尔蒙6免费观看| 美食的俘虏374| 扫黑风暴全集观看| 保险公司推销员8中字手机 | 法国护士长电影观看| 神犬奇兵演员表全部| 常香玉电视剧| 麻生香织电影在线| 电视剧樱桃| 电视剧流金岁月| 美女黑人大炮在线观看| 黄晓明和宋慧乔演过情侣| 印度达人| 《十天抵债》在线播放| 瑜伽健身3完整版| 单数绝配| 韩国电影售楼处的秘密| 爸爸的朋友2免费中字翻译西瓜| 电视连续剧爱| 出差偶遇前男友| 匿杀未删减| 我哥我嫂电视剧全集50集大结局| 劳拉的代驾(啄木鸟)| 韩剧 2014| 影子爱人电影| 团地妻98| 这就是街舞6免费观看全集完整版| 一代名妓苏小小| 爱情真善美下载| 美剧《美女公车骚扰》有哪些集数? | 需要爸爸播种子免费看| 我的父亲是板凳 电视剧| 偷偷藏不住40集完整版| 便利店坏妻子做爰| 微电影上位| 如果我们没有遇见| 意大利《荒岛女儿国》电影| 武状元苏乞儿周星驰| 年轻善良的岳母| 洪文定三破白莲教| 三年中国国语免费观看中文版下载-百度电影高清电影在线-B032AV | 电梯小姐电影在线观看| 三年成全影视全集| 欢喜游龙| 非洲姑娘高清播放| 大奉打更人电视剧免费播放| 男生女生一起相差差差差免费观看电视剧| 七天骗了一个村| 黑帮少爷爱上我第10集在线观看| 影音先锋网每日| 牛莉电视剧| 锦绣安宁免费看电视剧| 《农场保卫战》满天星法国在线观看 | 男子排队等升旗倒地睡着| 平和县| 小巷人家电视剧观看| 电视剧追鱼传奇| 将军家的小狐仙| 特殊的美容院5 韩国| 分手后我成全球顶流全集免费| 私人教练在线| 《入室暴行3被蹂躏》在线| 熊出没之环游世界| 阿部定完整版免费观看| 我们在线观看免费BD视频| 女大学生宿舍视频| 李丽珍电影免费观看粤语| 晚娘钟丽缇| 乐游原电视剧40集| 小寡妇在线观看免费播放电视剧| 《怪盗女谍之天海翼》| 君扬兄茶杯头| 美国满天星《无法无天》2006| 咒术回战剧场版资源| 诱人的飞行韩国电影| 铿铿铿锵锵锵锵免费看电视剧| 特种兵之火凤凰45| 红灯记伴奏| 电影《元敬》在线观看| 高柳家的花嫁在线| 放牛班的春天| 赵本山新电视剧鹊刀门传奇| 孤注一掷在线观看策驰影院 | 19岁免费观看完整版高清韩剧| 妹妹轮到你了韩剧| 曹云金官场斗| 凯·帕克《一家之春》感觉亦柔情 | 易建联29分| 至尊红颜贾静雯| 《超体2:物质觉醒》在线观看| 月生沧海电视剧免费观看完整版| 麦乐迪女超人的屈辱在线观看| 青苹果 电影| 梦中情人泰剧在线观看免费| 妈妈的味道完整手机版| 成全高清完整版免费动漫| 程女士1V3海外| 北川地震为汶川余震| 神医毒妃白鹤染| 禽兽哥哥| 《茂盛的森林》免费观看| 秋儿自驾旅行最新视频| 帕丁顿熊3电影国语版免费观看| 张根硕宠物情人上映| 妻子8免费完整高清电视剧在线看 《瓜达卢佩的玫瑰》在线播放免费墨 | 高中女同学中字| 通天书院| 庆帝到底想把皇位给谁| 新妈妈视频| 需要爸爸播种籽2演员名字 | 超女麦乐迪完整版| 男生女生一起愁愁愁愁愁电视剧在线观看| 生死线电视剧全集免费观看| 小泽玛利亚 qvod| 八戒八戒在线观看免费观看电视剧| 赤板丽的牙医姐妹电影观看| 天下第一拳| 张响神枪电视剧全集| 电影《厨房激战2》在线播放| 流浪地球2 电影| 古墓丽影满天星完整版观看| 韩国卖保险的销售电影| 珠海驾车撞人事件35死43伤| 鬼FU全集无删减在线看风车| 荣耀法则满天星在线观看| 坎贝奇的《品味人生》免费完整版| 僵王处刑曲| 奇门遁甲国语版| 风云2电视剧优酷| 吴健版《农民伯伯2》电影免费观看 | 黑夜中的她短剧免费观看| 河南大象新闻| 海之声电影在线观看免费完整高清原声 | 美发特别待遇2| 爸爸给我播种子十大经典歌曲| 羞羞的铁拳迅雷下载| 中国机长免费观看| 僵尸道长2在线观看免费完整版| 浮之公手| 佐佐木明希电影在线观看| 恋人是消防员2未删减| 《枭起青壤》电视剧| 妻子的谎言54集全免费剧情介绍| 王李丹妮新片《维修工》叫什么名字 | 无敌僵尸王 电视剧| 致命弯道2在线观看| 邻居的妻子在线观看| 小猪佩奇的视频| 紫彩乃在线播放| 大风杀电影在线观看完整版| 台湾mm减肥法| 科学怪妓在线观看| 《九重紫》在线观看| 已婚妇女的下午中文电影| 绝世天劫免费观看高清| 艾曼纽在线观看免费完整原声| 浴血十四年电视剧全集免费观看 | 恋人电视剧| 南海归墟电视剧16集免费观看| 但愿人长久 龚琳娜| 大鹏《保你平安》在线观看| 酒店1—80全集免费完整版| 大江大河2一共多少集| 移动迷宫2 电影| 金瓶梅在线观看全集高清徐少强| 离婚前规则主题曲叫什么| 女特警电视剧2024免费播放| 高压监狱在线观看完整免费高清原声高烧美国电影 | 《法国空乘4》伦理HD| 隔离七日晴| 大漠苍狼电视剧| 小林家的龙丫头:怕寂寞的龙电影| 做aj的电视剧大全免费观看一天多少钱 | 五亿探长雷洛传1粤语版免费观看| 古罗马艳情史| 交通事故现场| 水润女人全免费高清电视剧免费观看 | 韩国午夜剧场《分娩按摩2》HD免费在线观看高清完整版-如意影院 | 养母电视剧| 张警官三部曲| 播放电视剧小舍得| 罗马帝国艳情史高清| 讨厌部长 出差HD中字_午夜电影全集_完整版免费在线观看-天天影院 | 甜蜜小狐狸1983满天星帕克| 白鸟ゆな| 爱之亡灵| 隔壁漂亮女邻居躲避我是什么心理 | 儿子同学的妈妈| 与敌同行| 赌圣周星驰| 一个好妈妈的d6申字中头| 人猿泰山1995年真人版| 我兄弟的母亲免费观看电视剧| 人皮灯笼qvod| 五十玫瑰剧情分集介绍| 好朋友的男朋友| 床上丽拉| 唐朝禁宫秘史在线观看| 伦理《法国护士长》2006在线播放 | 人狗大战8集全集观看免费西瓜| 天海翼迅雷种子| 周处除三害哪里可以看| 《满天星》电影詹妮弗| 梦幻妖子全集| 豆腐西施杨七巧电视剧全集| 血战墓碑镇| 凯登·克罗斯主演电影在线观看| 天堂有难| 蛇片大全电影国语| 美国式忌讳结局1-5| 高清至尊马蒂未删减| 特殊家政服务电视剧在线观看| 雷古洛思奥特曼| 电视剧战狼| 爱我几何《莫妮卡》电影完整版在线 | 美女猜拳脱脱| 意大利满天星电影有哪些?八尺夫人免费| 四川绵阳村民种中药材致富| 一路向前| 空姐8| 那小子真帅1| 阿尔法特种部队| 两个女人的房间韩剧| 电视剧神话免费观看完整版| 1995版《泰山和珍妮丛林》免费观看在| 东北灵异档案| 韩剧三生| 我要成名免费| 叶玉卿卿本佳人| 在线播放天海翼| 《好运家》40集全免费看| 第一滴血3电影| 《壮志凌云:满天星》| 女主替父母还债的韩剧| 假面骑士blade| 姐姐的朋友在线看| 黑白配国语在线播放免费观看| 咱们结婚吧第21集| 我是刑警免费观看| 法国空姐中文免费高清原声高烧可以吃雪糕吗 | 六大禁片震撼来袭| 女战神:沙场归来宠家人短剧全集| 邪恶护士1| 我家三爷超宠的全集视频| 河山电视剧| 《小叔叔来家做客》电影| 借种之灭门| 呼噜小精灵第3季全集| 新人类毒医肥尸| 《受辱的妻子》在线观看| 雪豹坚强岁月电视剧| 妻子的谎言大结局52集| 海贼王剧场版第10弹| 电视剧浪漫满厨| 丰满的继牳伦理8伦理| 冲锋电影| 紫钗奇缘大结局| 斗罗大陆高清免费观看| 电影《特殊交易》免费| 《黑悟空》遭抵制风波升级| 那金花和她的女婿电视剧免费观看 | 上海一大学教师捅死同事被刑拘 | 夫上司装饰全集观看| 色欲AV亚洲波多野结衣| 绅士和小姐| 日本本乡爱主演的电影| 一路向西是什么电影| 爱神电影| 一起相愁愁全集免费观看| 宫斗之步步为营全集免费| 湖滨花园酒店| 真相审判韩国电影| A片按摩师未删减在线看 | 《误杀》电影完整版| 慈禧秘密生活 国语| 尖东老泥妹| 探案电影| 黄金小子| 三年大片大全国语版| 守护猫娘绯鞠| 花花公子电子杂志| 女子护卫队满天星1973中文| 北斗星的爱| 流星花园日版| 大江大河第二部在线观看免费 | 国产在线观看免费版电视剧| 恶魔恋人| 维修工老王的春天结局 | 风水之王:改命转运第一人全集免费| 高压监狱法国伦理| 似锦电视剧在线观看免费| 新闻女王粤语免费观看| 市委书记晚上不打招呼调研被拦 | 同志寓言| 战狼6免费完整电影在线观看高清视频软件下载 | 电影《韩国财阀》完整版| 黄种人粤语| 《卖房子的女销售》 | 禁止想象电影完整版| 伦理《法国护士长》2006免费观看| star-464| 高清秒速5厘米未删减| 漂亮妈妈七中字开头 | 《关系》韩国电影完整版| 特殊治疗日剧| 假面骑士创骑免费观看完整版中文| 光辉岁月独奏吉他谱| 王国第一季国语版免费观看| 安斋拉拉出演的电影| 惊变未删减| 《夫妇联欢-回不去的夜晚》| 俄罗斯女儿国| 爱的健身房电影| 丫鬟主母:侯府逆袭短剧全集 | 私人航空在线观看免费版完整版 | 终结者5创世纪| 烈火情人 百度影音| 满天星免费观看高清完整| 操小萝莉| 大中国原唱| 动感之星小玲108集全集免费| 禁止的爱善良的小峓子韩剧观看| 全职猎人84| 三级《出差被同房》| 电视剧归路免费观看全集高清版| 去有你的地方短剧完整版免费| 白峰美羽无码电影观看 | 木子凛子电影免费观看| 哭悲资源| 高清亲爱的,别!未删减| 唐人街探案3完整版在线观看| 美国《睫毛膏3》美国版| 柿饼的制作过程| 爱情诡计第6集| 古堡女仆的守护满天星| 《部长出差的日子》免费电影| 邪恶游戏| 黑客帝国矩阵重启| 娄底市| 我的漂亮瘦子5最新消息| 龙腾四海国语| 布兰迪《不当军事行为》在线播放| 芭比与胡桃夹子的梦幻之旅| 电影好久没做| 绅士品格国语版全集| 法国空乘5免费高清原声满天星美陌版| 斗罗大陆117集| 深夜濡湿| 凪光替夫还账的电影最后的时刻| 疯狂汉堡| 命定之人| 十二谭电视剧免费观看追剧吧| 战狼6少女版完整版| 哇嘎嘎在线观看完整版免费| 台军演练机场被炸瘫痪| 免费观看归路电视剧全集| 那年冬天风在吹电视剧| 鄂州父女瓜完整版| 保卫黄河歌谱| 霍比特人2完整版| 百媚千娇全集| 禁止的爱在线观看 国语版| 姐妹牙医 在线| 潍坊军训跳舞事件| 搞笑一家人2国语| 时间停止器电影免费版| 平安唱的我爱你中国| 花样厨神| 社长妻子替夫还债全集免费观看 | 亲爱的妈妈4免费观看韩剧| 与凤行电视剧全40集免费观看| 电影《女军医》完整版| 李小龙传奇电视剧| 换爱交换乱理伦片| 浪漫的女家教第1集免费观看| 繁华电视剧| 《好东西》剧情介绍| 朋友的妈妈观看| 红领章电视剧免费播放| 酒店1-90集免费观看中文| 探案电影| 氪金玩家第一季免费播放| 天生一对泰剧在线播放| 动感之星| 荣誉守则成人在线观看| 需要爸爸的种子国语版百度云| 咱们结婚吧在线观看| 牙医姐妹电影观看免费完整版| 满天星麦乐迪| 斗罗大陆117集| 折腰全集免费观看| 我们与恶的距离免费观看全集| 壮志凌云女版满天星在线观看完整免费高清| s与m 电影| 《女房客2》电影| 牵牛的夏天第二部| 五月激情小说| 夫妻相隔5小时先后坠楼身亡| 致命弯道3在线观看| 鹿鼎记2神龙教下载| 漂亮的小瘦子3| 女超人2013| 老爸当家电视剧| 恋爱暴君动漫| 终极一班3全集观看| v酒店第二季电影在线观看| 四个服从指什么| 奥尼尔名人堂演讲| 密室逃脱0713体验版免费| 世界杯巴西对克罗地亚| 食物链6大尺寸原声试听| 成龙历险记免费观看完整版| 夫妻免费观看全集完整版| 女法医jd| 小小水蜜桃6电视剧| 春天在线观看| 洗冤录第一部国语全集| 两世欢全集免费观看| 美国矿桥第20集体检视频| 控制女上司的遥控器在线观看| 寻找西门庆 mv| 慈禧秘密生活高清完整电影星辰| 电视剧正者无敌全集| 三年大片高清在线观看全集免费观看国语| 闯关东2电视剧全集免费观看|