關於C 標準庫泛型演算法reverse的學習筆記

2021-08-22 07:56:31 字數 478 閱讀 6793

c++ primer中這樣描述reverse反向排列元素

乙個容器為9,8,7,6,5,4,3,2,1,0,sort後為0,1,2,3,4,5,6,7,8,9。

乙個容器為0,1,2,3,4,5,6,7,8,9,sort後還為0,1,2,3,4,5,6,7,8,9。

假設乙個容器為0,1,2,3,4,5,6,7,8,9你認為reverse以後為什麼呢?沒有錯,9,8,7,6,5,4,3,2,1,0。

但是乙個容器本來就為9,8,7,6,5,4,3,2,1,0呢?還是9,8,7,6,5,4,3,2,1,0嗎?他們不是本來就降序排列了嗎?

我以前就是這樣理解的,不過實際使用才知道reverse不時排序演算法,僅僅是反向排列。9,8,7,6,5,4,3,2,1,0

reverse後變成0,1,2,3,4,5,6,7,8,9。要得到降序排列的方法,好像可以先sort,後reverse.不知道我說的對不對。

具體的驗證**就很簡單,不列出來了。

關於泛型程式設計和c 標準模板庫

1.泛型程式設計 所謂泛型程式,就是不依賴與某種特定的資料結構的程式。前面所學的模板,就是泛型程式設計中極其有用的工具。設計的主要思想就是將演算法從特定的資料結構裡抽象出來。概念 concept 泛型程式設計中 作為引數的資料型別所具有的功能 模型 model 具備乙個概念需要的基本資料結構。如果將...

c 11標準 泛型演算法

正在看c primer 5,學習的同時,記錄下學習體會。v表示容器 實現在v中統計符合第三個引數條件的數量。有三種方法 bool cmpstr const string s return s.size 5 1 接受乙個一元謂詞。auto count count if v.begin v.end cm...

C 泛型演算法

標準庫並未給每個容器都定義成員函式來實現這些操作,而是定義了一組泛型演算法,稱他們為演算法是因為他們實現了一些經典演算法的公共介面,如排序和搜尋 稱他們為排序的是因為它們可以用於不同型別的元素和多種容器型別。大多數演算法都定義在標頭檔案algorithm中。標準庫還在標頭檔案numeric中定義了一...