检查字符串流中的重复项

33次阅读
没有评论

共计 1564 个字符,预计需要花费 4 分钟才能阅读完成。

字符串流是给定数据的顺序流,其中流的单个元素代表一个字符串。该流允许大量处理字符串数据。在 C++ 中,我们有一些基于 STL(标准模板库)的函数,例如 count() 和 insert(),用于检查字符串流中的重复项。

使用标准模板库

该程序使用 C++ STL 将头文件设置为无序,表示唯一键元素,并有助于解决字符串流中的重复项。

语法

示例中使用了以下语法 -

static unordered_set<data_type> unq_string;

unq_string 是静态数据类型变量的声明,这意味着一旦声明该变量和成员函数就不能修改。unordered_set 是一个容器数据结构,它只设置唯一元素。

count()

count() 是 C++ STL 的一个预定义函数,它返回给定数组字符串的元素外观。

insert()

insert() 是 C++ STL 的另一个预定义函数,可用于在特定元素之前添加元素。

算法

以下步骤是 -

步骤 1: 通过提及必要的头文件 (例如 iostream、unordered_set 和 string) 来启动程序。

步骤 2: 然后使用接受 const string& 类型参数 s 的函数定义 check_dup_element() 来处理字符串的操作重复。

步骤 3: 初始化容器数据结构 "static unordered_set<data_type> unq_string;",它处理代码的主要功能。

步骤 4: 接下来,使用 if 语句根据给定字符串 (即变量 s) 中的重复字符串设置条件。如果找到重复的字符串,它将打印语句为 "找到重复元素",否则它将使用内置函数 insert() 和静态变量(即 unq_string),该函数仅添加字符串中存在的唯一元素,并将语句打印为 "找到唯一元素"。

步骤 5: 现在启动主函数并将数组元素存储在字符串类型的变量 str 中。然后找到要存储在变量 n 中的数组大小。

步骤 6: 继续使用 for 循环,该循环使用名为 check_dup_element() 的调用函数,该函数接受 str[i] 作为参数,其中变量 i 遍历输入字符串并显示结果。

示例

在下面的示例中,我们将使用静态变量

#include <iostream>
#include <unordered_set>
#include <string>
using namespace std;
void check_dup_element(const string& s) 
{
static unordered_set<string> unq_string;
// 检查字符串是否已经存在于集合中
    if (unq_string.count(s) > 0)
    {cout << "The repeated element found" << endl;} 
    else 
    {unq_string.insert(s);
    cout << "The unique element found" << endl;
    }
}
// 启动主函数
    int main() {string str[] = {"A", "B", "C", "C","A","D"};
// 查找数组的大小
    int n = sizeof(str) / sizeof(str[0]);
// 迭代字符串中的每个元素
    for (int i = 0; i < n; i++) {check_dup_element(str[i]);
    }
    return 0;
}

输出

The unique element found
The unique element found
The unique element found
The repeated element found
The repeated element found
The unique element found

结论

我们探索了字符串流复制的概念,以便从给定的字符串数组中查找重复的元素。该程序使用了一些预先存在的内置函数 (如 count() 和 insert()) 分别指定元素的外观和插入。有各种应用,如数据处理、自然语言处理、日志分析等。

正文完
 0
稀饭波斯
版权声明:本站原创文章,由 稀饭波斯 于2025-03-14发表,共计1564字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)