第二十三模板 18 4演算法類

2022-03-12 10:41:48 字數 2019 閱讀 7946

//第二十三模板 18.4演算法類

/*stl(標準模板庫)通用演算法共分四大類

不變序列演算法 不對其所作用的容器進行修改

改變序列演算法 對其所作用的容器進行修改

排序演算法 對容器中的元素採用多種方式進行排序

數值演算法 對容器中的元素進行數值計算

這些演算法全部在標準命名空間std中的中定義

*///1 函式對像

//要理解這些標準演算法是如何工作的,我們必須了解函式物件的,函式對像即定義的過載運算子()

/*#include using namespace std;

templateclass show

return 0;

}*///2 不變序列演算法

//不變序列演算法即不改變序列中元素的演算法

//(1)for_each()方法

/*#include #include #include using namespace std;

templateclass show

for_each(vone.begin(),vone.end(),one);

//第三個引數是接受乙個函式對像,該函式對像執行對所遍歷元素的操作,此時one對像可看作為乙個函式對像,因此這將呼叫one函式對像並將遍歷到的元素依次傳遞給one.operator(),這使得到每個元素值次被輸出在以螢幕上

system("pause");

return 0;

}*///(2)find()方法

/*#include #include #include #include #include using namespace std;

int main()

};int main()

for_each(vint.begin(),vint.end(),show);

cout<<"亂序輸出"<#include #include using namespace std;

void show(int val)

string name;

int score;

bool operator<(const student &m)const

string name;

int score;

bool operator<(const student &m)const

int score;

string name;

//過載運算子<,也就是所說的函式物件是吧?汗,現在又不確定這個名詞咱說了

//暈錯了

//兩個const

bool operator < (const student &s)const };

int main()

*///該函式必須保證所有容器都已經排序過後再進行比較,如果用vecotr將先使用srot

//binary_search(first,last,val)

//equal(first,last,first1)

//equal_range(first,last,val)

//lexicongraphical_compare(first,last,first1,last1)

//lower_bound(first,last,val)

//max(val1,val2)

//max_element(first,last)

//min(val1,val2)

//min_element(first,last)

//next_permutation(first,last)

//partial_sort_copy(first,last,first1,last1)

//partial_sum(first,last,result)

//prev_permutation(first,last)

//pop_heap(first,last)

//push_heap(first,last)

//sort_heap(first,last)

//make_heap(first,last)

第二十三模板 18 5數值演算法

第二十三模板 18.5數值演算法 stl的數值演算法可以對乙個序列的元素進行四種計算,接下來將逐步講述這四種計算方法 1 accumulate first,last,init include include include include using namespace std void show ...

第二十三模板 12約束模板

第二十三模板 12約束模板 結束模板的大意,即是對模板的資料和方法有要求 templatet max t a,t b 假如比較的型別是兩個指向字串的指標,則比較運算子 比較的是兩個位址而不是數值 char max char a,char b 該函式具體化了max函式的兩個引數和功能,該函式的兩個引數...

第二十三模板 6類模板的定義

第二十三模板 6類模板的定義 類模板的定義與函式模板的定義大到到致相同 include using namespace std templateclass people t getx t gety private t x,y int main 使用繼承和模板的方式,都可以派生出乙個類系,以實現 重用...