精华内容
下载资源
问答
  • C++ algorithm库函数

    2020-02-10 00:20:46
    C++ algorithm库函数 一、sort()函数 在前边的文章中讲过。 二、reverse()函数 交换vector容器中元素的顺序 vector< int > v = {5,4,3,2,1}; reverse(v.begin(),v.end()) 还有string类的字符串 string ...

    C++ algorithm库函数

    一、sort()函数

    在前边的文章中讲过。

    二、reverse()函数

    • 交换vector容器中元素的顺序
      vector< int > v = {5,4,3,2,1};
      reverse(v.begin(),v.end())
    • 还有string类的字符串
      string str=“hello world”;
      reverse(str.begin(),str.end());

    三、count()函数

    count(begin,end,‘a’),其中begin指的是起始地址,end指的是结束地址,第三个参数指的是需要查找的字符。跳过空格仍能计数。

    #include <iostream>
    #include <algorithm>
    #include <string>
    using namespace std;
    int main()
    {
        string str = "aaacccvbaaa fgaa";
        int num = count(str.begin(),str.end(),'a');
        cout <<"在字符串" << temp << "中," <<"字母a出现的次数是" << num << endl;   //结果为8
        return 0}
    

    注意:要使用头文件#include< algorithm >

    展开全文
  • c++ algorithm 函数简介

    万次阅读 多人点赞 2016-05-17 20:57:28
    algorithm意为"演算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。 编程语言C++ 类 别C++标准库 头文件#include 命名空间using namespace std; 目录 1函数 ? ...

    algorithm编辑

    algorithm意为"演算法",C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。

    编程语言C++

    类    别C++标准库

    头文件#include <algorithm>

    命名空间using namespace std;

    目录

    1函数

    ? 不修改内容的序列操作:

    ? 修改内容的序列操作:

    ? 划分操作:

    ? 排序操作:

    ? 二分法查找操作:

    ? 集合操作:

    ? 堆操作:

    ? 最大/最小操作:

    1函数

    编辑

     

    不修改内容的序列操作:

     

    adjacent_find 查找两个相邻(Adjacent)的等价(Identical)元素

    all_ofC++11 检测在给定范围中是否所有元素都满足给定的条件

    any_ofC++11 检测在给定范围中是否存在元素满足给定条件

    count 返回值等价于给定值的元素的个数

    count_if 返回值满足给定条件的元素的个数

    equal 返回两个范围是否相等

    find 返回第一个值等价于给定值的元素

    find_end 查找范围A中与范围B等价的子范围最后出现的位置

    find_first_of 查找范围A中第一个与范围B中任一元素等价的元素的位置

    find_if 返回第一个值满足给定条件的元素

    find_if_notC++11 返回第一个值不满足给定条件的元素

    for_each 对范围中的每个元素调用指定函数

    mismatch 返回两个范围中第一个元素不等价的位置

    none_ofC++11 检测在给定范围中是否不存在元素满足给定的条件

    search 在范围A中查找第一个与范围B等价的子范围的位置

    search_n 在给定范围中查找第一个连续n个元素都等价于给定值的子范围的位置

    修改内容的序列操作:

     

    copy 将一个范围中的元素拷贝到新的位置处

    copy_backward 将一个范围中的元素按逆序拷贝到新的位置处

    copy_ifC++11 将一个范围中满足给定条件的元素拷贝到新的位置处

    copy_nC++11 拷贝 n 个元素到新的位置处

    fill 将一个范围的元素赋值为给定值

    fill_n 将某个位置开始的 n 个元素赋值为给定值

    generate 将一个函数的执行结果保存到指定范围的元素中,用于批量赋值范围中的元素

    generate_n 将一个函数的执行结果保存到指定位置开始的 n 个元素中

    iter_swap 交换两个迭代器(Iterator)指向的元素

    moveC++11 将一个范围中的元素移动到新的位置处

    move_backwardC++11 将一个范围中的元素按逆序移动到新的位置处

    random_shuffle 随机打乱指定范围中的元素的位置

    remove 将一个范围中值等价于给定值的元素删除

    remove_if 将一个范围中值满足给定条件的元素删除

    remove_copy 拷贝一个范围的元素,将其中值等价于给定值的元素删除

    remove_copy_if 拷贝一个范围的元素,将其中值满足给定条件的元素删除

    replace 将一个范围中值等价于给定值的元素赋值为新的值

    replace_copy 拷贝一个范围的元素,将其中值等价于给定值的元素赋值为新的值

    replace_copy_if 拷贝一个范围的元素,将其中值满足给定条件的元素赋值为新的值

    replace_if 将一个范围中值满足给定条件的元素赋值为新的值

    reverse 反转排序指定范围中的元素

    reverse_copy 拷贝指定范围的反转排序结果

    rotate 循环移动指定范围中的元素

    rotate_copy 拷贝指定范围的循环移动结果

    shuffleC++11 用指定的随机数引擎随机打乱指定范围中的元素的位置

    swap 交换两个对象的值

    swap_ranges 交换两个范围的元素

    transform 对指定范围中的每个元素调用某个函数以改变元素的值

    unique 删除指定范围中的所有连续重复元素,仅仅留下每组等值元素中的第一个元素。

    unique_copy 拷贝指定范围的唯一化(参考上述的 unique)结果

    划分操作:

     

    is_partitionedC++11 检测某个范围是否按指定谓词(Predicate)划分过

    partition 将某个范围划分为两组

    partition_copyC++11 拷贝指定范围的划分结果

    partition_pointC++11 返回被划分范围的划分点

    stable_partition 稳定划分,两组元素各维持相对顺序

    排序操作:

     

    is_sortedC++11 检测指定范围是否已排序

    is_sorted_untilC++11 返回最大已排序子范围

    nth_element 部份排序指定范围中的元素,使得范围按给定位置处的元素划分

    partial_sort 部份排序

    partial_sort_copy 拷贝部分排序的结果

    sort 排序

    stable_sort 稳定排序

    二分法查找操作:

     

    binary_search 判断范围中是否存在值等价于给定值的元素

    equal_range 返回范围中值等于给定值的元素组成的子范围

    lower_bound 返回指向范围中第一个值大于或等于给定值的元素的迭代器

    upper_bound 返回指向范围中第一个值大于给定值的元素的迭代器

    集合操作:

     

    includes 判断一个集合是否是另一个集合的子集

    inplace_merge 就绪合并

    merge 合并

    set_difference 获得两个集合的差集

    set_intersection 获得两个集合的交集

    set_symmetric_difference 获得两个集合的对称差

    set_union 获得两个集合的并集

    堆操作:

     

    is_heap 检测给定范围是否满足堆结构

    is_heap_untilC++11 检测给定范围中满足堆结构的最大子范围

    make_heap 用给定范围构造出一个堆

    pop_heap 从一个堆中删除最大的元素

    push_heap 向堆中增加一个元素

    sort_heap 将满足堆结构的范围排序

    最大/最小操作:

     

    is_permutationC++11 判断一个序列是否是另一个序列的一种排序

    lexicographical_compare 比较两个序列的字典序

    max 返回两个元素中值最大的元素

    max_element 返回给定范围中值最大的元素

    min 返回两个元素中值最小的元素

    min_element 返回给定范围中值最小的元素

    minmaxC++11 返回两个元素中值最大及最小的元素

    minmax_elementC++11 返回给定范围中值最大及最小的元素

    next_permutation 返回给定范围中的元素组成的下一个按字典序的排列

    prev_permutation 返回给定范围中的元素组成的上一个按字典序的排列

    展开全文
  • C++ algorithm函数简介

    千次阅读 2018-03-20 15:36:53
    algorithm编辑algorithm意为"演算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。编程语言C++类 别C++标准库头文件#include &lt;algorithm&gt;命名...

    algorithm编辑

    algorithm意为"演算法",C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。

    编程语言C++

    类    别C++标准库

    头文件#include <algorithm>

    命名空间using namespace std;

    目录

    1函数

    不修改内容的序列操作:

    修改内容的序列操作:

    划分操作:

    排序操作:

    二分法查找操作:

    集合操作:

    堆操作:

    最大/最小操作:

    1函数

    编辑

     

    不修改内容的序列操作:

     

    adjacent_find 查找两个相邻(Adjacent)的等价(Identical)元素

    all_ofC++11 检测在给定范围中是否所有元素都满足给定的条件

    any_ofC++11 检测在给定范围中是否存在元素满足给定条件

    count 返回值等价于给定值的元素的个数

    count_if 返回值满足给定条件的元素的个数

    equal 返回两个范围是否相等

    find 返回第一个值等价于给定值的元素

    find_end 查找范围A中与范围B等价的子范围最后出现的位置

    find_first_of 查找范围A中第一个与范围B中任一元素等价的元素的位置

    find_if 返回第一个值满足给定条件的元素

    find_if_notC++11 返回第一个值不满足给定条件的元素

    for_each 对范围中的每个元素调用指定函数

    mismatch 返回两个范围中第一个元素不等价的位置

    none_ofC++11 检测在给定范围中是否不存在元素满足给定的条件

    search 在范围A中查找第一个与范围B等价的子范围的位置

    search_n 在给定范围中查找第一个连续n个元素都等价于给定值的子范围的位置

    修改内容的序列操作:

     

    copy 将一个范围中的元素拷贝到新的位置处

    copy_backward 将一个范围中的元素按逆序拷贝到新的位置处

    copy_ifC++11 将一个范围中满足给定条件的元素拷贝到新的位置处

    copy_nC++11 拷贝 个元素到新的位置处

    fill 将一个范围的元素赋值为给定值

    fill_n 将某个位置开始的 个元素赋值为给定值

    generate 将一个函数的执行结果保存到指定范围的元素中,用于批量赋值范围中的元素

    generate_n 将一个函数的执行结果保存到指定位置开始的 个元素中

    iter_swap 交换两个迭代器(Iterator)指向的元素

    moveC++11 将一个范围中的元素移动到新的位置处

    move_backwardC++11 将一个范围中的元素按逆序移动到新的位置处

    random_shuffle 随机打乱指定范围中的元素的位置

    remove 将一个范围中值等价于给定值的元素删除

    remove_if 将一个范围中值满足给定条件的元素删除

    remove_copy 拷贝一个范围的元素,将其中值等价于给定值的元素删除

    remove_copy_if 拷贝一个范围的元素,将其中值满足给定条件的元素删除

    replace 将一个范围中值等价于给定值的元素赋值为新的值

    replace_copy 拷贝一个范围的元素,将其中值等价于给定值的元素赋值为新的值

    replace_copy_if 拷贝一个范围的元素,将其中值满足给定条件的元素赋值为新的值

    replace_if 将一个范围中值满足给定条件的元素赋值为新的值

    reverse 反转排序指定范围中的元素

    reverse_copy 拷贝指定范围的反转排序结果

    rotate 循环移动指定范围中的元素

    rotate_copy 拷贝指定范围的循环移动结果

    shuffleC++11 用指定的随机数引擎随机打乱指定范围中的元素的位置

    swap 交换两个对象的值

    swap_ranges 交换两个范围的元素

    transform 对指定范围中的每个元素调用某个函数以改变元素的值

    unique 删除指定范围中的所有连续重复元素,仅仅留下每组等值元素中的第一个元素。

    unique_copy 拷贝指定范围的唯一化(参考上述的 unique)结果

    划分操作:

     

    is_partitionedC++11 检测某个范围是否按指定谓词(Predicate)划分过

    partition 将某个范围划分为两组

    partition_copyC++11 拷贝指定范围的划分结果

    partition_pointC++11 返回被划分范围的划分点

    stable_partition 稳定划分,两组元素各维持相对顺序

    排序操作:

     

    is_sortedC++11 检测指定范围是否已排序

    is_sorted_untilC++11 返回最大已排序子范围

    nth_element 部份排序指定范围中的元素,使得范围按给定位置处的元素划分

    partial_sort 部份排序

    partial_sort_copy 拷贝部分排序的结果

    sort 排序

    stable_sort 稳定排序

    二分法查找操作:

     

    binary_search 判断范围中是否存在值等价于给定值的元素

    equal_range 返回范围中值等于给定值的元素组成的子范围

    lower_bound 返回指向范围中第一个值大于或等于给定值的元素的迭代器

    upper_bound 返回指向范围中第一个值大于给定值的元素的迭代器

    集合操作:

     

    includes 判断一个集合是否是另一个集合的子集

    inplace_merge 就绪合并

    merge 合并

    set_difference 获得两个集合的差集

    set_intersection 获得两个集合的交集

    set_symmetric_difference 获得两个集合的对称差

    set_union 获得两个集合的并集

    堆操作:

     

    is_heap 检测给定范围是否满足堆结构

    is_heap_untilC++11 检测给定范围中满足堆结构的最大子范围

    make_heap 用给定范围构造出一个堆

    pop_heap 从一个堆中删除最大的元素

    push_heap 向堆中增加一个元素

    sort_heap 将满足堆结构的范围排序

    最大/最小操作:

     

    is_permutationC++11 判断一个序列是否是另一个序列的一种排序

    lexicographical_compare 比较两个序列的字典序

    max 返回两个元素中值最大的元素

    max_element 返回给定范围中值最大的元素

    min 返回两个元素中值最小的元素

    min_element 返回给定范围中值最小的元素

    minmaxC++11 返回两个元素中值最大及最小的元素

    minmax_elementC++11 返回给定范围中值最大及最小的元素

    next_permutation 返回给定范围中的元素组成的下一个按字典序的排列

    prev_permutation 返回给定范围中的元素组成的上一个按字典序的排列

    展开全文
  • C++ algorithm partition

    千次阅读 2015-11-19 23:15:29
    #include #include #include <algorithm> #include #include <iostream>// function that take a string and return true // indicating the string has five characters // or more b
    #include <vector>
    #include <string>
    #include <algorithm>
    #include <iterator>
    #include <iostream>
    
    // g++ 4.9.2 -std=c++11
    // function that take a string and return true
    // indicating the string has five characters 
    // or more
    bool pred(const std::string &s)
    {
            return !(s.size() < 5);
    }
    
    int main()
    {
            std::vector<std::string> words;
            std::string str;
            while (std::cin >> str) {
                    words.push_back(str);
            }
            std::copy(words.begin(), words.end(), std::ostream_iterator<std::string>(std::cout, " "));
            std::cout << "\n";
    
            auto it = std::partition(words.begin(), words.end(), pred);
            std::copy(words.begin(), it, std::ostream_iterator<std::string>(std::cout, " "));
            std::cout << "\n";
    
            return 0;
    }

    from C++ primer 5th Exercise 10.13(P.387)

    展开全文
  • algorithm意为"演算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数,库中的算法主要分为4类: 非修改性顺序操作(Non-modifying sequence operations) 可变顺序操作...
  • 对于一般的数据类型——整型和浮点型,我们经常要得到最大值,最小值和绝对值 本文章利用一些头文件的函数,进行展示。函数的参数及使用在程序代码及注释中体现。... algorithm的max(),min(),和abs() max(...
  • C++ algorithm库常用函数

    2020-11-15 21:36:41
    algorithm> 1) std::max, std::min; 2) std::swap int a = 1; int b = 2; std::swap(a,b); #if _HAS_CXX17 template <class _Ty, enable_if_t<is_move_constructible_v<_Ty> && is_...
  • C++ algorithm sort自定义排序

    万次阅读 2017-08-03 11:41:07
    sort定义在#include <algorithm>中是不稳定的排序 默认情况下 sort(a,a+n)代表从a首地址到a的尾地址按默认的从小到大排序 自定义 1)简单变量 bool compare(类型名称 a,类型名称 b){return a>b...
  • C++ algorithm算法小结(一)

    千次阅读 2019-03-13 18:46:41
    c++的&amp;amp;lt;algorithm&amp;amp;gt;头文件中,有许多十分便利的算法,个人学习总结如下,方便以后复习。 1.sort(iter1, iter2, comp) 函数可以输入三个参数,前两个是RandomAccessIterator对象,限定...
  • C++ algorithm advance函数

    千次阅读 2014-11-21 17:12:09
    #include <algorithm> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { map, int> m; map, int>::iterator it; int i = 0; for (int i = 0; i != 50; ++i) { m.insert(make_pair(i, i)); }...
  • 因为需要准备蓝桥杯,所以复习一下 C++,在此作一下分享 . . . 文章没有演示结果,大家可以自行演示 . . . 查找 vector<int> v{ 1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 9, 0 }; // 查找相邻元素的第一个元素 adjacent_find...
  • C++ algorithm中find系列函数总结

    千次阅读 2019-12-04 14:27:05
    主要是对find , find_first_of , find_end , find_if , find_if_not这五函数做个总结: 我写了这个代码: #include<iostream> #include<map> #include<vector>...algorithm> usin...
  • C++algorithm头文件下sort函数的使用

    万次阅读 多人点赞 2019-07-05 11:24:10
    1. sort函数是用来排序的函数,它是根据具体的情况使用不同的排序方法,效率较高,一般来说,不推荐...2)的极端情况,所以我们在排序的时候尽量使用C++下的sort函数来进行排序 2. 下面是sort函数的常见用法: ...
  • C++ algorithm头文件中transform用法

    千次阅读 2018-09-19 16:20:03
    transform函数可以将指定的源目标复制到新目标中 transform有两个版本: 第一种(参数): 源目标起始迭代器地址 源目标结束迭代器地址 输出迭代器地址 自定义函数符(一元函数) ... transform(v1.begin(),v1....
  • c++中sort函数有两种形式 sort (first, last) //两个参数 sort (first, last, cmp) //三个参数 下面先说第一种 #include<iostream> #include <algorithm> using namespace std; int main(){ int a...
  • C++ algorithm头文件函数的基本用法

    千次阅读 多人点赞 2018-04-08 14:43:18
    algorithm /*algorithm头文件下的常用函数*/ /* 使用algorithm头文件,需要在头文件下加一行using namespace std;” */ //常用函数max(), min(), abs() //swap() //reverse() //next_permutation() //fill() // ...
  • <algorithm> # include # include using namespace std ; int main ( ) { vector < int > a ; int tmp ; for ( int i = 0 ; i < 3 ; ++ i ) { scanf ( "%d" , & tmp ) ; ...
  • c++ algorithm下的常用函数

    千次阅读 2018-04-09 15:50:37
    algorithm下的常用函数max(x,y) 返回x y中的最大值,参数只能是两个,如果想比较x,y,z的最大值,可写为max(x,max(y,z))min(x,y)同理,返回的是x,y中的最小值abs(x)返回x的绝对值,x必须是整数 浮点数是math文件下的...
  • C++的算法(algorithm)提供了一系列方便编程的函数,本次介绍一下其中几个函数的使用 set_intersection函数(求交集) 介绍:set_intersection一个需要传入5个参数,分别是第一个容器的两个迭代器,第二个容器的两...
  • C++ algorithm for_each函数

    2014-11-21 17:25:46
    #include <algorithm> using namespace std; //int func(pair, int> p) //{ // cout ; //} void func(pair, int> p) { cout ; } int _tmain(int argc, _TCHAR* argv[]) { map, int> m; map, int>::iterator ...
  • C++ algorithm 里的sort函数应用

    千次阅读 2019-07-09 08:03:28
    #include <algorithm> using namespace std; 1.默认的sort函数是按升序排。对应于1) sort(a,a+n); //两个参数分别为待排序数组的首地址和尾地址 2.可以自己写一个cmp函数,按特定意图进行排序。对应于2) 例如: ...
  • C++ algorithm算法库 acm常用函数统计

    千次阅读 2018-07-31 16:11:59
    转载注明出处csdn bestsort 函数统计 求gcd __gcd(a,b).(两个下划线开头) int a=34,b=4; cout &amp;amp;amp;amp;lt;&amp;amp;amp;amp;lt; __gcd(a,b)&...求数组a

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 150,702
精华内容 60,280
关键字:

c++algorithm

c++ 订阅