演算法:問題的求解步驟,以有限的步驟,解決數學或邏輯中的問題。
accumulate 元素統計
template t accumulate ( inputiterator first, inputiterator last, t init );
template t accumulate ( inputiterator first, inputiterator last, t init, binaryoperation binary_op );
template t accumulate ( inputiterator first, inputiterator last, t init )
binary_search 二分查詢int myfunction (int x, int y)
struct myclass
} myobject;
int init = 100;
int numbers = ;
cout << accumulate (numbers, numbers+3, init, myfunction ); // 220
cout << accumulate (numbers, numbers+3, init, myobject ); // 280
copy 拷貝template bool binary_search ( forwarditerator first, forwarditerator last, const t& value );
template bool binary_search ( forwarditerator first, forwarditerator last, const t& value, compare comp );
template outputiterator copy ( inputiterator first, inputiterator last, outputiterator result );
templateoutputiterator copy ( inputiterator first, inputiterator last, outputiterator result )
template bidirectionaliterator2 copy_backward ( bidirectionaliterator1 first, bidirectionaliterator1 last, bidirectionaliterator2 result );
count :計數templatebidirectionaliterator2 copy_backward ( bidirectionaliterator1 first,bidirectionaliterator1 last, bidirectionaliterator2 result )
template typename iterator_traits::difference_type
count ( forwarditerator first, forwarditerator last, const t& value ) ;
template ptrdiff_t count ( inputiterator first, inputiterator last, const t& value )
template typename iterator_traits::difference_type
count_if ( forwarditerator first, forwarditerator last, predicate pred );
equal:判斷相等template ptrdiff_t count_if ( inputiterator first, inputiterator last, predicate pred )
template bool equal ( inputiterator1 first1, inputiterator1 last1, inputiterator2 first2 );
template bool equal ( inputiterator1 first1, inputiterator1 last1, inputiterator2 first2, binarypredicate pred );
fill :填充template bool equal ( inputiterator1 first1, inputiterator1 last1, inputiterator2 first2 )
return true;
}
template < class forwarditerator, class t >
void fill ( forwarditerator first, forwarditerator last, const t& value );
find : 查詢template < class forwarditerator, class t >
void fill ( forwarditerator first, forwarditerator last, const t& value )
template inputiterator find ( inputiterator first, inputiterator last, const t& value );
for_each:對某一區間內所有元素實行某種操作templateinputiterator find ( inputiterator first, inputiterator last, const t& value )
template function for_each (inputiterator first, inputiterator last, function f);
merge:合併templatefunction for_each(inputiterator first, inputiterator last, function f)
template outputiterator merge ( inputiterator1 first1, inputiterator1 last1, inputiterator2 first2, inputiterator2 last2, outputiterator result );
template outputiterator merge ( inputiterator1 first1, inputiterator1 last1, inputiterator2 first2, inputiterator2 last2, outputiterator result, compare comp );`
max 和 mintemplate outputiterator merge ( inputiterator1 first1, inputiterator1 last1, inputiterator2 first2, inputiterator2 last2, outputiterator result )
}
partile_sort:區域性排序
sort : 排序template void partial_sort ( randomaccessiterator first, randomaccessiterator middle, randomaccessiterator last );
template void partial_sort ( randomaccessiterator first, randomaccessiterator middle, randomaccessiterator last, compare comp );
今天先寫到這兒,下次繼續template void sort ( randomaccessiterator first, randomaccessiterator last );
template void sort ( randomaccessiterator first, randomaccessiterator last, compare comp );
c STL演算法總結
標頭檔案 功能algorithm 演算法函式 numeric 數值演算法 functiona 函式物件 仿函式 分類no.分類說明解釋1 非可變序列演算法 non modifying sequence operations 不直接修改容器內容的演算法。2可變序列演算法 modifying seque...
C STL 常用排序演算法
以下是排序和通用演算法 提供元素排序策略 merge 合併兩個有序序列,存放到另乙個序列。例如 vecinta,vecintb,vecintc是用vector宣告的容器,vecinta已包含1,3,5,7,9元素,vecintb已包含2,4,6,8元素 vecintc.resize 9 擴大容量 m...
C STL 常用查詢演算法
find 查詢元素,內建型別 void test01 查詢在區間內出現的第乙個5,返回當前查詢元素迭代器 vector int iterator it find v.begin v.end 5 if it v.end else find 查詢元素,自定義型別,得告訴編譯器如何做對比 class pe...