21xrx.com
2024-09-20 06:16:42 Friday
登录
文章检索 我的文章 写文章
C++实现多个字符串输入并删除重复
2023-07-13 06:09:33 深夜i     --     --
C++ 多个字符串输入 删除重复

在C++编程中,有时需要从用户处输入多个字符串,并需要对这些字符串进行去重操作。本文为大家介绍一种简单易懂的方法,可以实现多个字符串输入并删除重复。

首先,我们需要了解C++中的STL库中的set容器。set容器是一种关联式容器,其中元素按顺序排列,且每个元素唯一。在set容器中插入元素时,set会自动将元素按照某种规则进行排序,并剔除重复元素。因此,我们可以利用set容器来实现去重操作。

其次,我们需要编写一个函数来实现多个字符串的输入和去重操作。该函数的具体实现如下:


#include <iostream>

#include <set>

#include <string>

void inputStrings(std::set<std::string>& strSet) {

  int n;

  std::cout << "请输入字符串的个数:";

  std::cin >> n;

  std::cout << "请输入字符串:";

  std::string temp;

  for (int i = 0; i < n; ++i) {

    std::cin >> temp;

    strSet.insert(temp);

  }

}

此函数中,我们先定义一个set容器来存储输入的字符串,并定义一个变量n来表示需要输入的字符串个数。然后,我们从用户处获取n的值,并提示用户输入字符串。接下来,我们利用for循环和cin语句来实现多个字符串的输入,并将其插入到set容器中。由于set容器会自动去重,因此重复的字符串只会保留一个。

最后,我们可以在主函数中调用这个函数来实现多个字符串的输入和去重操作,具体代码如下:


#include <iostream>

#include <set>

#include <string>

void inputStrings(std::set<std::string>& strSet) {

  int n;

  std::cout << "请输入字符串的个数:";

  std::cin >> n;

  std::cout << "请输入字符串:";

  std::string temp;

  for (int i = 0; i < n; ++i) {

    std::cin >> temp;

    strSet.insert(temp);

  }

}

int main() {

  std::set<std::string> strSet;

  inputStrings(strSet);

  std::cout << "去重后的字符串为:";

  for (auto iter = strSet.begin(); iter != strSet.end(); ++iter) {

    std::cout << *iter << " ";

  }

  std::cout << std::endl;

  return 0;

}

在主函数中,我们先定义一个set容器来存储输入的字符串。然后,我们调用上面编写的函数inputStrings来实现多个字符串的输入和去重操作。最后,我们利用for循环和cout语句将去重后的字符串输出到控制台上。

到这里,我们就成功实现了多个字符串的输入和去重操作。相信这个简单的函数会在实际开发中发挥很大的作用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章