首页 > 代码库 > 总结STL的通用算法基本形式
总结STL的通用算法基本形式
stl的通用算法基本有如下四种形式:
- alg(beg, end, params):使用源输入作为输出
- alg(beg, end, dest, params) :使用dest作为输出,需要保证有足够的空间,所以往往使用inserter
- alg(beg, end, beg2, other params):beg2作为输出,假定beg2开始的范围至少跟beg和end指定的范围一样大。
- alg(beg, end, beg2, end2, params):beg2 end2作为输出
举例:
第一种比如:
find(beg, end, search_value);
sort(beg, end);
accumulate(beg, end, original_value);
fill(beg, end, value); //特殊的:fill_n(begin, count, n)
replace(beg, end, value, replace_value);
unique(beg, end);
count(beg, end, value);
stable_sort(beg, end);
reverse(beg, end);
第二种比如:
copy(beg, end, back_inserter(vector));
第三种比如:
replace_copy(beg, end, beg2, value, replace_value);
unique_copy(beg, end, beg2);
reverse_copy(beg, end, beg2);
第四种比如:
find_first_of(beg, end, beg2, end2);
另外,有的算法支持谓词,比如
sort(beg, end, comp)
find_if(beg, end, comp)
count_if(beg, end, comp)
有的算法有copy和非copy版,比如
replace(beg, end, value, replace_value);
unique(beg, end);
replace_copy(beg, end, beg2, value, replace_value);
unique_copy(beg, end, beg2);
本文版权归CXH_ME所有,原创不易,人艰不抄,转载还请注明出处,谢谢
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。