首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨
C/C++/C#

C/C++/C#

202071 帖子 7 成员
创建于 2025-05-20 组长:啊龙
本小组主要为进行C/C++技术交流而开设的技术论坛,社区版主及管理员在此分享学习资源供社区学员进行学习、交流、提问及解答问题。对C/C++感兴趣的朋友可随时关注本版块。

  • unique() 算法可以在序列中原地移除重复的元素,这就要求被处理的序列必须是正向迭代器所指定的。在移除重复元素后,它会返回一个正向迭代器作为新序列的结束迭代器。可以提供一个函数对象作为可选的第三个...
    风轻y 发表于 192 天前
    0
    59
  • reverse_copy() 算法可以将源序列复制到目的序列中,目的序列中的元素是逆序的。定义源序列的前两个迭代器参数必须是双向迭代器。目的序列由第三个参数指定,它是目的序列的开始迭代器,也是一个输出...
    风轻y 发表于 192 天前
    0
    60
  • 不要被 copy_backward() 算法的名称所误导,它不会逆转元素的顺序。它只会像 copy() 那样复制元素,但是从最后一个元素开始直到第一个元素。copy_backward() 会复制前两个...
    风轻y 发表于 192 天前
    0
    57
  • copy_if() 算法可以从源序列复制使谓词返回 true 的元素,所以可以把它看作一个过滤器。前两个参数定义源序列的输入迭代器,第三个参数是指向目的序列的第一个位置的输出迭代器,第 4 个参数是一...
    风轻y 发表于 192 天前
    0
    69
  • copy_n() 算法可以从源容器复制指定个数的元素到目的容器中。第一个参数是指向第一个源元素的输入迭代器,第二个参数是需要复制的元素的个数,第三个参数是指向目的容器的第一个位置的迭代器。这个算法会返...
    风轻y 发表于 192 天前
    0
    70
  • is_permutation() 算法可以用来检查一个序列是不是另一个序列的排列,如果是,会返回 true。下面是在这个算法中使用 lambda 表达式的示例:std::vector data1{44...
    风轻y 发表于 192 天前
    0
    46
  • next_permutation() 是按照字典升序的方式生成的排列。当我们想以降序的方式生成排列时,可以使用 prev_permutation()。prev_permutation 和 next_p...
    风轻y 发表于 192 天前
    0
    49
  • 排列就是一次对对象序列或值序列的重新排列。例如,“ABC”中字符可能的排列是:"ABC", "ACB", "BAC", "BCA&...
    风轻y 发表于 192 天前
    0
    57
  • 两个字符串的字母排序是通过从第一个字符开始比较对应字符得到的。第一对不同的对应字符决定了哪个字符串排在首位。字符串的顺序就是不同字符的顺序。如果字符串的长度相同,而且所有的字符都相等,那么这些字符串就...
    风轻y 发表于 192 天前
    0
    95
  • equal() 算法可以告诉我们两个序列是否匹配。mismatch() 算法也可以告诉我们两个序列是否匹配,而且如果不匹配,它还能告诉我们不匹配的位置。mismatch() 的 4 个版本和 equa...
    风轻y 发表于 192 天前
    0
    77
  • 可以用和比较字符串类似的方式来比较序列。如果两个序列的长度相同,并且对应元素都相等,equal() 算法会返回 true。有 4 个版本的 equal() 算法,其中两个用 运算符来比较元素,另外两个...
    风轻y 发表于 192 天前
    0
    52
  • algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。这些算法的前两个参数是定义谓词应用范围的输入迭代器;第三个参数指定了谓词。检查元素是...
    风轻y 发表于 192 天前
    0
    65
  • equal_range() 可以找出有序序列中所有和给定元素相等的元素。它的前两个参数是指定序列的两个正向迭代器,第三个参数是要查找的元素。这个算法会返回一个 pair 对象,它有两个正向迭代器成员,...
    风轻y 发表于 192 天前
    0
    51
  • 二分查找一般比顺序搜索要快,但要求序列中的元素是有序的。这主要是因为二分查找的搜索机制,图 1 说明了这种机制。图 1 二分查找图 1 展示了在一个升序序列中二分查找 22 的过程。因为元素是升序排列...
    风轻y 发表于 192 天前
    0
    49
  • 二分查找一般比顺序搜索要快,但要求序列中的元素是有序的。这主要是因为二分查找的搜索机制,图 1 说明了这种机制。图 1 二分查找图 1 展示了在一个升序序列中二分查找 22 的过程。因为元素是升序排列...
    风轻y 发表于 192 天前
    0
    56
  • 目前为止,你在本章中见到的搜索算法都是对序列进行顺序搜索,而且没有事先对元素进行排序的要求。二分查找一般比顺序搜索要快,但要求序列中的元素是有序的。这主要是因为二分查找的搜索机制,图 1 说明了这种机...
    风轻y 发表于 192 天前
    0
    68
  • 可以用 partition_point() 算法来获取分区序列中第一个分区的结束迭代器,它的前两个参数定义检查范围的正向迭代器,最后一个参数是用来对序列进行分区的谓词。我们通常不知道每个分区中元素的个...
    风轻y 发表于 192 天前
    0
    55
  • partition_copy() 算法以和 stable_partition() 相同的方式对序列进行分区,但那些使谓词返回 true 的元素会被复制到一个单独的序列中,使谓词返回 false 的那些...
    风轻y 发表于 192 天前
    0
    53
  • 在序列中分区元素会重新对元素进行排列,所有使给定谓词返回 true 的元素会被放在所有使谓词返回 false 的元素的前面。这就是 partition() 算法所做的事。partition 的前两个参...
    风轻y 发表于 192 天前
    0
    61
  • search_n() 算法会搜索给定元素的匹配项,它在序列中连续出现了给定的次数。它的前两个参数是定义搜索范围的正向迭代器,第 3 个参数是想要查找的第 4 个元素的连续匹配次数。例如:std::ve...
    风轻y 发表于 192 天前
    0
    57
  • 在查找序列的子序列方面,search() 算法和 find_end() 算法相似,但它所查找的是第一个匹配项而不是最后一个。和 find_end() 算法一样,它也有两个版本,第二个版本接受用来比较元...
    风轻y 发表于 192 天前
    0
    65
  • find_end() 会在一个序列中查找最后一个和另一个元素段匹配的匹配项,也可以看作在一个元素序列中查找子序列的最后一个匹配项。这个算法会返回一个指向子序列的最后一个匹配项的第一个元素的迭代器,或是...
    风轻y 发表于 192 天前
    0
    48
  • adjacent_find() 算法可以用来搜索序列中两个连续相等的元素。用  运算符来比较连续的一对元素,返回的迭代器指向前两个相等元素中的第一个。如果没有一对相等的元素,这个算法返回这个序列的结束...
    风轻y 发表于 192 天前
    0
    50
  • find_first_of() 算法可以在第一个序列中搜索第二个序列在第一个序列中第一次出现的任何元序列被搜索的范围由输入迭代器指定,但用于确定搜索序列的迭代器至少是正向迭代器。用 运算符来比较这两个...
    风轻y 发表于 192 天前
    0
    70
  • find_if_not() 可以在输入迭代器所定义的范围内查找单个对象,该算法会在前两个参数指定的范围内查找可以使第三个参数指定的谓词 返回 false 的第一个对象。谓词不能修改传给它的对象。fin...
    风轻y 发表于 193 天前
    0
    67
  • find_if() 同 find() 一样,为在输入迭代器所定义的范围内查找单个对象的算法,它可以在前两个参数指定的范围内查找可以使第三个参数指定的谓词返回 true 的第一个对象。谓词不能修改传给它...
    风轻y 发表于 193 天前
    0
    64
  • find() 为在输入迭代器所定义的范围内查找单个对象的算法,它可以在前两个参数指定的范围内查找和第三个参数相等的第一个对象。find 算法会返回一个指向被找到对象的迭代器,如果没有找到对象,会返回这...
    风轻y 发表于 193 天前
    0
    65
  • putchar函数是字符输出函数,其功能是在终端(显示器)输出单个字符。其函数原型为:int putchar(int ch);ch表示要输出的字符内容,返回值作用为:如果输出成功返回一个字符的ASC码...
    风轻y 发表于 193 天前
    0
    49
  • 合并操作会合并两个有相同顺序的序列中的元素,可以是两个升序序列,也可以是两个降序序列。结果会产生一个包含来自这两个输入序列的元素副本的序列,并且排序方式和原始序列相同。图 1 说明了其工作方式。图 1...
    风轻y 发表于 193 天前
    0
    60
  • 排序是要耗费时间的,尤其是在有大量元素时。测试元素段是否已经排好序可以避免不必要的排序操作。如果两个迭代器参数所指定范围内的元素是升序排列的,函数模板 is_sorted() 就会返回 true。为了...
    风轻y 发表于 193 天前
    0
    62
站长交流