欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++泛型算法的一些總結

 更新時間:2013年08月20日 10:15:07   作者:  
以下是對C++中的泛型算法進行了總結介紹。需要的朋友可以過來參考下

泛型算法的一些總結
1、每個泛型算法的實現(xiàn)都獨立于單獨的容器,并且不依賴于容器存儲的元素類型。

2、泛型算法從不直接添加或刪除元素。

3、與容器的類型無關,只在一點上隱式地依賴元素類型:必須能夠對元素做比較運算。

A、需要某種遍歷集合的方式:能夠從一個元素向前移到下一個元素。

B、必須能夠知道是否到達了集合的末尾。

C、必須能夠對容器中的每一個元素與被查找的元素進行比較。

D、需要一個類型來指示元素在容器中的位置,或者表示找不到該元素。

4、迭代器將算法和容器綁定起來。算法基于迭代器及其操作實現(xiàn),而并非基于容器操作。

5、使用泛型算法必須包含algorithm頭文件

6、通常泛型算法都是在標記容器(或其他序列)內的元素范圍的迭代器上操作的,標記范圍的兩個實參類型必須精確匹配,而迭代器本身必須標記一個范圍,第一個迭代器通過不斷地處境,必須可以到到達第二個迭代器。

7、String標準庫為string對象與char *對象定義了相等(==)操作符。

8、謂詞(函數(shù)):是做某些檢測的函數(shù),返回用于條件判斷的類型,指出條件是否成立。函數(shù)名可用于函數(shù)形參。

9、unique 的使用:該算法刪除相鄰的重復元素,然后重新排列輸入范圍內的元素,并且返回一個迭代器,表示無重復的值范圍的結束。unique實際上并沒有刪除任何元素,而是將無重復的元素復制到序列的前端,返回的迭代器指向超出無重復無素范圍末端的下一位置。注:由于該算法刪除相鄰的重復元素,所以在調用此函數(shù)之前,要調用sort函數(shù)進行排序。

10、關聯(lián)容器的鍵是const對象,因此關聯(lián)容器的迭代器視為支持自減遠處的輸入迭代器,而不是完整的雙向迭代器。

11、泛型算法的結構:

A、通常有一對迭代器標記輸入范圍。

B、_if 版本的帶有一個謂詞函數(shù)開參,謂詞函數(shù)用于表示所提供操作的要求,例如排序的規(guī)則。

C、_copy 版本多了一個綁定到容器元素類型相同(或可轉換)的另一個容器,把一個容器的元素復制到綁定的容器中,并實現(xiàn)算法的操作,但對輸入迭代器所標記的容器沒有影響。

12、關于list 容器的特有算法。

list 容器上的迭代器是雙向的,而不是隨機訪問類型。由于list 容器不支持隨機訪問,因此,在此窗口上不能使用使用需要隨機訪問迭代器的算法sort , 而merge, remove, reverse, unique 等性能也非常低。對于list 對象,應該優(yōu)先使用list 容器特有的成員版本,而不是泛型算法。

list 特有的算法與其泛型算法版本之間有兩個到頭重要的差別,list容器特有的操作能添加和刪除元素。

A、remove和 unique 的list版本修改了其關聯(lián)的基礎容器,真正地刪除了指定的元素。

B、list容器提供的merge和splice運算會破壞它們的實參。使用merge 的泛型算法版本時,合并的序列將寫入目標迭代器指向的對象,而它的兩個輸入序列保持不變。但是,使用list容器的merge成員函數(shù)時,則會破壞它的實參list對象,當實參對象的元素合并到調用merge函數(shù)的list對象時,實參對象的元素被移出并刪除。

相關文章

  • QT連接SQLServer數(shù)據庫的實現(xiàn)

    QT連接SQLServer數(shù)據庫的實現(xiàn)

    要使用Qt連接SQL Server數(shù)據庫,需要使用Qt提供的SQL模塊和SQL Server驅動程序,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 適合初學者練習的C語言實現(xiàn)三子棋小游戲

    適合初學者練習的C語言實現(xiàn)三子棋小游戲

    今天這篇文章主要介紹給大家分享一個適合初學者練習的利用C語言寫三子棋小游戲,用簡單的C語言來實現(xiàn)小時候玩的三子棋游戲,下面是人機對戰(zhàn),當然這個代碼的電腦對手是人工智障而不是人工智能 詳細內容就請跟小編一起來閱讀下面文章內容吧
    2021-10-10
  • Qt項目實戰(zhàn)之實現(xiàn)MP3音樂播放器

    Qt項目實戰(zhàn)之實現(xiàn)MP3音樂播放器

    這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)MP3音樂播放器,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解一下
    2023-03-03
  • C++常見的stl容器與相關操作 示例解析

    C++常見的stl容器與相關操作 示例解析

    所謂容器,就是可以承載,包含元素的一個器件,它是STL六大組件之一,是容器、算法、迭代器中最重要也是最核心的一部分
    2022-10-10
  • QT實現(xiàn)簡單時鐘效果

    QT實現(xiàn)簡單時鐘效果

    這篇文章主要為大家詳細介紹了QT實現(xiàn)簡單時鐘效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C++實現(xiàn)單鏈表按k值重新排序的方法

    C++實現(xiàn)單鏈表按k值重新排序的方法

    這篇文章主要介紹了C++實現(xiàn)單鏈表按k值重新排序的方法,結合實例形式分析了C++單鏈表中按照給定值進行判斷與排序的相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • C語言中自動隱式轉換與類型強制轉換實例分析

    C語言中自動隱式轉換與類型強制轉換實例分析

    這篇文章主要介紹了C語言中自動隱式轉換與類型強制轉換實例分析,需要的朋友可以參考下
    2014-07-07
  • C++中多才多藝的 const

    C++中多才多藝的 const

    在C++中,關鍵字const可以用來修飾任何作用域內的變量、函數(shù)參數(shù)、函數(shù)本體、函數(shù)返回值、成員函數(shù)、迭代器,也可以用來修飾指針本身和指針目標,可謂多才多藝,我們要詳細了解其內部細節(jié),以及邏輯奧秘,讓這把多功能瑞士軍刀盡情發(fā)揮其作用,需要的朋友可以參考一下
    2021-09-09
  • C語言鍵盤控制走迷宮小游戲

    C語言鍵盤控制走迷宮小游戲

    這篇文章主要為大家詳細介紹了C語言鍵盤控制走迷宮小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Linux配置C++11編譯環(huán)境的方法

    Linux配置C++11編譯環(huán)境的方法

    這篇文章主要介紹了Linux配置C++11編譯環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論