以下是排序和通用演算法:提供元素排序策略
merge: 合併兩個有序序列,存放到另乙個序列。
例如:vecinta,vecintb,vecintc是用vector宣告的容器,
vecinta已包含1,3,5,7,9元素,
vecintb已包含2,4,6,8元素
vecintc.resize(9); //擴大容量
merge(vecinta.begin(),vecinta.end(),vecintb.begin(),vecintb.end(),vecintc.begin());
此時vecintc就存放了按順序的1,2,3,4,5,6,7,8,9九個元素
sort: 以預設公升序的方式重新排列指定範圍內的元素。若要改排序規則,可以輸入比較函式。
//學生類
class cstudent:
public:
int m_iid;
string m_strname;
} //學號比較函式
bool compare(const cstudent &stua,const cstudent &stub)
random_shuffle: 對指定範圍內的元素隨機調整次序。
srand(time(0)); //設定隨機種子
vectorvecint;
vecint.push_back(1);
vecint.push_back(3);
vecint.push_back(5);
vecint.push_back(7);
vecint.push_back(9);
string str("itcastitcast ");
random_shuffle(vecint.begin(), vecint.end()); //隨機排序,結果比如:9,7,1,5,3
random_shuffle(str.begin(), str.end()); //隨機排序,結果比如:" itstcasticat "
vectorvecint;
vecint.push_back(1);
vecint.push_back(3);
vecint.push_back(5);
vecint.push_back(7);
vecint.push_back(9);
reverse(vecint.begin(), vecint.end()); //
c STL之常用排序演算法
sort 對容器元素進行排序 random shuffle 洗牌,指定範圍內的元素隨機調整次序 merge 容器元素合併,並儲存到另一容器中 reverse 反轉指定範圍內的元素 1.sort includeusing namespace std include include include 常用...
C STL常用演算法總結
演算法 問題的求解步驟,以有限的步驟,解決數學或邏輯中的問題。accumulate 元素統計 template t accumulate inputiterator first,inputiterator last,t init template t accumulate inputiterator...
C STL 常用查詢演算法
find 查詢元素,內建型別 void test01 查詢在區間內出現的第乙個5,返回當前查詢元素迭代器 vector int iterator it find v.begin v.end 5 if it v.end else find 查詢元素,自定義型別,得告訴編譯器如何做對比 class pe...