排序算法属于C++泛型算法中的一种,以不同的方式为容器的元素排序。这些算法包括sort, stable_sort, partial_sort, partial_sort_copy以及一些相关的功能,包括nth_element, binary_search, lower_bound, upper_bound, equal_range, merge, includes, push_heap, pop_heap, make_heap, sort_heap, set_union, set_intersection, set_difference, set_symmetric_difference, min, min_element, max, max_element, lexicographical_compare, next_permutation, prev_permutation。由于相关功能不常用,这里就不具体介绍了,下面用程序实例演示每一个算法。 阅读全文
变序列算法属于C++泛型算法中的一种,需要修改容器内容。这些算法包括copy_backward, fill, generate, partition, random_shuffle, remove, replace, rotate, reverse, swap, swap_ranges, transform, unique。上一篇《变序算法实例一》介绍了copy_backward, fill, generate, partition, random_shuffle, remove,这一篇接着介绍replace, rotate, reverse, swap, swap_ranges, transform, unique。 阅读全文
不变序列算法属于C++泛型算法中的一种,不需要修改容器内容。这些算法包括adjacent_find, find, find_end, find_first_of, count, mismatch, equal, for_each, search,下面用程序实例演示每一个算法。
1、find —— 在集合或容器中查找指定元素第一次出现的位置
#include "iostream" //因为语法高亮插件不支持尖括号,故改成引号 #include "algorithm" //实际调试过程中请自行更改 int arr[] = { 11, 22, 33, 44, 55, 66, 77, 88 }; int main () { int *ptr; ptr = find(arr, arr+8, 33); // 找第一个 33 cout << "First object with value 33 found at offset " << (ptr-arr) << endl; return 0; } 运行结果: // First object with value 33 found at offset 2