21xrx.com
2024-11-22 10:11:37 Friday
登录
文章检索 我的文章 写文章
C++中实现带空格字符串去重
2023-07-05 11:22:26 深夜i     --     --
C++ 带空格 字符串 去重 实现

C++中的字符串去重是一个非常常见的问题,尤其是当字符串中包含了空格等特殊字符时,问题就更加复杂了。本文将介绍如何利用C++实现带空格字符串的去重。

首先,需要定义一个函数来实现去重操作。这个函数的主要功能是遍历输入的字符串,将其中的重复元素去掉,并输出去重后的字符串。下面是函数的代码:


#include <iostream>

#include <cstring>

using namespace std;

void removeDuplicates(string str) {

  int len = str.length();

  // 定义一个数组来保存字符串中出现的字符

  bool chars[256] = {false};

  // 遍历字符串,当字符被第一次发现时打印,之后不再打印

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

    if (chars[(int)str[i]] == false) {

      cout << str[i];

      chars[(int)str[i]] = true;

    }

  }

  cout << endl;

}

int main() {

  string str;

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

  getline(cin, str); // 输入包含空格的字符串

  removeDuplicates(str);

  return 0;

}

上述代码首先定义了一个bool类型的数组chars,存储字符串中出现的字符。遍历字符串中的每个字符,若该字符未在数组中出现,则添加它并将其标记为已出现,同时输出该字符。

使用removeDuplicates函数的主要思路是将输入的带空格字符串存储到一个string类型的变量中,然后将该变量作为参数传递给函数。在函数中,遍历字符串来去除重复元素,并通过cout输出去重后的字符串。

在函数中,通过bool类型的数组来存储字符串中出现的字符,保证了去重操作的正确性。当一个字符被第一次发现时,它被添加到chars数组中并标记为已出现,下次不会再次打印该字符。

总结来说,本文介绍了如何使用C++实现带空格字符串的去重。通过定义一个函数来包含去重逻辑,并利用bool类型的数组来存储字符串中出现的字符,完成了去重操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复