c 常用演算法

2021-10-23 21:22:26 字數 2172 閱讀 7188

#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函式逐個輸入字元儲存在字元陣列中,對於新手有一些難度。閱讀全文 ...