今天進入了第十章 泛型演算法的學習。所謂泛型,就是指其運用範圍廣,容器和內建陣列都可以使用。其被包括在中,也有部分。演算法不依賴於容器,但依賴於元素的操作。演算法的真正物件是迭代器,不會改變容器大小。
唯讀演算法:
accumulate(b,e,sum);(+)
find(b,e,val);
equal(r1.b,r1.e,r2.b);(==)(注意所有以乙個迭代器指代第二個容器的必須保證第二個容器大小不小於第乙個)。
寫容器演算法:
find(b,e,val);
find_n(b,size,val);
back_inserter(容器)作為特殊的插入迭代器,可以使末尾的元素增加或改變,防止泛型演算法超出範圍。
e.g.
fill_n(back_insert(ivec),10,0);
copy(b,e,r2);將從b和e開始的所有元素拷貝給r2,必須保證r2.size()>=e-b;
replace(b,e,val1,val2);將所有為val1的地方換成val2.
重排元素演算法:
sort(b,e);
unique(b,e);unique僅僅將相同的元素放到末尾,並給乙個未知值所以需要用以下操作刪除。
auto end_unique=unique(b,e);
w.erase(end_unique,w.end());
python學習35 多型
class dog object def init self,name self.name name defgame self print s 開心的玩耍 self.name class gaifei dog 父類的方法不能滿足子類的需求 重寫game方法 defgame self print s和...
letecode 程式設計學習(35)
給你乙個長度為 n 的整數陣列,請你判斷在 最多 改變 1 個元素的情況下,該陣列能否變成乙個非遞減數列。我們是這樣定義乙個非遞減數列的 對於陣列中所有的 i 0 i n 2 總滿足 nums i nums i 1 示例 1 輸入 nums 4,2,3 輸出 true 解釋 你可以通過把第乙個4變成...
GDOI2016模擬3 5總結
看題,發現都很好想出大致的思路。t1 費用流,t2 sa 線段樹,t3 搜尋。先打了t 1 的費用流,打完 對拍 測大資料,發現沒什麼問題,就去看t2 t2 也很快打完 對拍 測大資料,沒什麼問題。t3 打暴力,加上狀壓優化,測了樣例和一些手工資料,跑得很快,也沒什麼錯,就沒管了。這時11 00,回...