(7)STL演算法之交換 賦值

2021-10-14 11:35:29 字數 2086 閱讀 3310

3、互換

stl的大部分容器都提供了成員函式swap(),用於兩個不同容器物件之間的元素交換,同時,stl演算法也提供了演算法swap()。個人認為盡量使用容器自己的swap()。

(1)swap()

// 宣告及定義

template void swap (t& a, t& b);

template void swap (t& a, t& b)

template void swap (t (&a)[n], t (&b)[n])

(2) swap_ranges()

這個函式可以交換兩個容器中的部分元素

template forwarditerator2 swap_ranges (forwarditerator1 first1, forwarditerator1 last1,forwarditerator2 first2);

templateforwarditerator2 swap_ranges (forwarditerator1 first1, forwarditerator1 last1,forwarditerator2 first2)

return first2;

}

用法示例:

#include #include #include using namespace std;

int main()

4、賦值

可以使用 fill()、fill_n()、generate()、generate_n() 4個函式來給容器賦值。

fill()、fill_n()用於給指定區間每個元素賦予相同的數值,

(1)fill()

// fill() 宣告及定義

template void fill (forwarditerator first, forwarditerator last, const t& val);

template void fill (forwarditerator first, forwarditerator last, const t& val)

}

用法示例:

#include #include #include using namespace std;

int main()

(2)fill_n()

template outputiterator fill_n (outputiterator first, size n, const t& val);

template outputiterator fill_n (outputiterator first, size n, const t& val)

return first;

}

用法示例:

#include #include #include int main()
(3)generate()、generate_n()

template void generate (forwarditerator first, forwarditerator last, generator gen);

template void generate ( forwarditerator first, forwarditerator last, generator gen )

}

template outputiterator generate_n (outputiterator first, size n, generator gen);

template void generate_n ( outputiterator first, size n, generator gen )

}

用法示例:

#include #include #include #include using namespace std;

int fibonacci(void)

void main()

C Primer筆記7 STL之關聯容器

關聯容器 與順序容器不同,關聯容器的元素是按keyword來訪問和儲存的。而順序容器中的元素是按他們在容器中的位置來順序儲存的。關聯容器最常見的是map set multimap multiset map的元素以鍵 值 key value 對的形式組織 鍵用作元素在map 中的索引,而值則表示所儲存...

排序演算法之交換排序

交換排基本思想 兩兩比較待排序元素的關鍵字,發現兩個元素的次序相反時即進行交換,知道沒有反序的元素為止。本節介紹兩種交換排序,即氣泡排序和快速排序。氣泡排序 每次只能和相鄰的位置數進行交換,效率低 include int a 100 void quicksort int left,int right...

排序演算法之交換排序

交換,就是根據序列中兩個元素關鍵字的比較結果來對換這兩個記錄在序列中的位置。基於交換的排序 演算法有很多。以氣泡排序和快速排序舉例。氣泡排序 public static int bubblesort int array return newarray 穩定性 氣泡排序是乙個穩定的排序方法。氣泡排序中...