18C 複習 SLT演算法

2022-10-08 19:24:09 字數 1688 閱讀 2235

- 不變序列演算法

- 變值演算法

- 刪除演算法

- 變序演算法

- 排序演算法

- 有序區間演算法

- 數值演算法

- 用 「==」 判斷元素是否相等, 或用 「

- 多出乙個型別引數 「pred」 和函式形參 「pred op」 : 通過表示式 「op(x,y)」 的返回值: ture/false 來判斷x是否 「等於」y,或者x是否 「小於」y。

如下面的有兩個版本的min_element

iterator min_element(iterator first, iterator last, pred op);
該類演算法不會修改演算法所作用的容器或物件

適用於順序容器和關聯容器

時間複雜度都是o(n)

此類演算法會修改源區間或目標區間元素的值

值被修改的那個區間, 不可以是屬於關聯容器的

刪除乙個容器裡的某些元素

刪除 – 不會使容器裡的元素減少

將所有應該被刪除的元素看做空位子

用留下的元素從後往前移, 依次去填空位子

元素往前移後, 它原來的位置也就算是空位子

也應由後面的留下的元素來填上

最後, 沒有被填上的空位子, 維持其原來的值不變

刪除演算法不應作用於關聯容器

演算法複雜度都是o(n)的

變序演算法改變容器中元素的順序

但是不改變元素的值

變序演算法不適用於關聯容器

演算法複雜度都是o(n)的

比前面的變序演算法複雜度更高, 一般是o(nlog(n))

排序演算法需要隨機訪問迭代器的支援

不適用於關聯容器和list

要求所操作的區間是已經從小到大排好序的

需要隨機訪問迭代器的支援

有序區間演算法不能用於關聯容器和list

18 c 排序心得

注意開始時不合法判斷if i j return 三個while迴圈void quicksort vector int data,int left,int right data i temp print data quicksort data,left,i 1 quicksort data,i 1,r...

12C 複習 SLT簡介

stl standard template library 即標準模板庫,是乙個具有工業強度的,高效的c 程式庫。它被容納於c 標準程式庫 c standard library 中,是ansi iso c 標準中最新的也是極具革命性的一部分。該庫包含了諸多在電腦科學領域裡所常用的基本資料結構和基本演...

18 C 基礎 函式指標

int p1 10 p1 是乙個陣列,含有 10 個指標的陣列 int p2 10 arr p2 是乙個指標,指向含有 10 個整數的陣列 bool pf const string const string pf 是乙個函式,該函式返回為bool指標的函式,即返回bool bool pf const...