讀書筆記 演算法之變動性演算法

2021-09-27 03:42:57 字數 1243 閱讀 8961

複製元素:

copy(begin,end,destbegin);

copy_backward(sourcebegin,source end,destend);

將區間的元素複製到destbegin/destend裡面去

copy正向,copy_backward反向

stl沒有copy_if(),只有remove_copy_if().

注意目標區域的空間

轉換和結合:

transform(sourcebegin,sourceend,destbeg,destend,op);

針對區間的每乙個元素呼叫op(elem),然後寫到destbeg裡面去

transform(sourcebegin,sourceend,soucrce2beg,destbeg,op);

針對sourcebegin,sourceend以及source2beg的元素呼叫op(sourceelem,source2elem);並將結果寫入destbeg裡面

注意:以上兩個都返回最後乙個被轉換元素的下乙個位置,並且要保證destbeg源區有足夠的大小

swap_range(beg1,end1,beg2);

將區間beg1,end1內的元素從beg2開始的對應元素對掉

賦值:

fill(begin,end,newvalue);

fill_n(begin,n,newvalue);

fill將區間的每乙個元素賦予newvalue;

fill_n將begin開始的前n個元素賦予newvalue

generate(begin,end,op);

generate_n(begin,num,op);

generate呼叫op返回的值,並賦予begin,end內的元素

generate_n嗲用op返回值,並賦予begin前的元素

替換元素:

replace(beg,end,old value,newvalue);

replace(beg,end,op,newvalue);

replace_copy(sourcebeg,sourceend,destbeg,oldvalue,newvalue);

replace_copy_if(sourcebeg,sourceend,destbeg,op,newvalue);

將source複製到dest,同時將oldvalue替換成newvalue

讀書筆記 演算法之變動性演算法

複製元素 copy begin,end,destbegin copy backward sourcebegin,source end,destend 將區間的元素複製到destbegin destend裡面去 copy正向,copy backward反向 stl沒有copy if 只有remove ...

變動性演算法modifying algorithms

目的 變動內容 注意 目標區間不能是關聯式容器 所有具有單一目標區間的演算法,都返回最後乙個被複製元素的下乙個位置 一。複製 1.outputiterator copy inputiterator sourcebegin,inputiterator sourceend,outputiteratord...

排序演算法讀書筆記

按關鍵字相等的記錄順序是否變化,分為穩定和不穩定 按儲存器不同分為內部排序和外部排序,外部是指數量很大,記憶體一次不能容納全部記錄,要訪問外存 按複雜度分簡單排序 普通排序和基數排序 按依據的原則不同分為插入排序 交換排序 選擇排序 歸併排序和計數排序。排序通常需要兩種操作 比較 移動記錄。1 平均...