#include
遍歷演算法
for_each:
vectorv;
v.push_back(1);v.push_back(2);v.push_back(3);
for_each(v.begin(),v.end(),普通函式);
for_each(v.begin(),v.end(),仿函式);
transform:搬運容器到另外乙個容器;
transform(v.begin(),v.end(),目標容器起始迭代器v2.begin(),仿函式);
查詢演算法:
find;查詢指定元素,找到返回指定元素的迭代器,找不到返回end()迭代器;
find(v.begin(),v.end(),5);如果元素是自定義的型別,就需要過載;
find_if;
find_if(v.begin,v.end(),謂詞);找到返回指定元素的迭代器,找不到返回end()迭代器;
adjacent_find;查詢相鄰重複的元素,如果查詢到,返回相鄰元素第乙個迭代器;查不到返回end()迭代器;
adjacent_find(v.begin,v.end());
binary_search;查詢指定元素是否存在,返回true和false;必須在有序的序列中才能使用;
binary_search(v.begin(),v.end(),元素)
count;
count(v.begin(),v.end(),元素);統計元素的個數;自定義的資料型別,必須過載==;
count_if;返回元符合條件元素的個數;
count_if(v.begin(),v.end(),謂詞);
排序演算法:
sort;排序sort(v.begin(),v.end),謂詞);
random_shuffle;隨機打亂次序;
srand((unsigned int')time(null))隨機數種子
random_shuffle(v.begin(),v.end);
merge;容器元素合併,儲存到另乙個容器;
vectorvtarget;
vtarget.resize<11>;給目標容器分配空間;
merge(v.begin(),v.end(),v1.begin(),v1.end(),vtarget.begin())
reverse;反轉,首尾對調;
reverse(v.begin(),v.end);
拷貝和替換:
copy;將容器指定範圍內的元素拷貝到另乙個容器中;
copy(v.begin(),v.end(),vtarget.bengin())
replace;將容器內指定的範圍的舊元素修改為新元素;
replace(v.begin(),v.end(),舊值,新值);把所有的舊值都替換為新值;
replace_if;
replace(v.begin(),v.end(),謂詞,新值)
swap;互換兩個容器的元素;同種型別的容器才能交換;
swap(容器1,容器2);
算數生成:#include
accumulate;計算容器元素總和;
accumulate(v.begin(),v.end(),起始的累加值);返回總和
fill;將指定區間替換稱其他指定元素;
fill(v.begin(),v.end(),替換的元素);
集合:
set_intersection;交集
set_intersection(v.begin(),v.end(),v1.begin(),v1.end(),vtarget.begin());vtarget是目標容器,最後返回目標容器的end()迭代器;
set_union;並集,兩個容器必須是有序序列;
set_union(v.begin(),v.end(),v1.begin(),v1.end(),vtarget.begin());返回的是並集的end()迭代器;
set_difference;差集,分v1和v2的差集,v2和v1的差集;
set_difference(v.begin(),v.end(),v1.begin(),v1.end(),vtarget.begin())
C語言常用演算法
一 計數 求和 求階乘等簡單演算法 此類問題都要使用迴圈,要注意根據問題確定迴圈變數的初值 終值或結束條件,更要注意用來表示計數 和 階乘的變數的初值。例 用隨機函式產生100個 0,99 範圍內的隨機整數,統計個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數並列印出來。本題使用陣...
常用演算法(C版)
演算法 algorithm 計算機解題的基本思想方法和步驟。演算法的描述 是對要解決乙個問題或要完成一項任務所採取的方法和步驟的描述,包括需要什麼資料 輸入什麼資料 輸出什麼結果 採用什麼結構 使用什麼語句以及如何安排這些語句等。通常使用自然語言 結構化流程圖 偽 等來描述演算法。一 計數 求和 求...
C語言常用演算法
收集一些語法 演算法方面的內容。用 顯示乙個菱形 posted 2010 06 21 09 09 齊心 閱讀 29 編輯 從鍵盤輸入乙個字串,將其中的大寫字母變小寫字母,小寫字母變大寫字母,並輸出 摘要 題目很簡單,但是要求用scanf函式逐個輸入字元儲存在字元陣列中,對於新手有一些難度。閱讀全文 ...