//第二十三模板 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 使用繼承和模板的方式,都可以派生出乙個類系,以實現 重用...