📌  相关文章
📜  在 C++ 中反转给定字符串中的单词的程序(1)

📅  最后修改于: 2023-12-03 15:07:37.803000             🧑  作者: Mango

在 C++ 中反转给定字符串中的单词的程序

本文将介绍如何在 C++ 中编写程序来反转给定字符串中的单词。该程序将输入一个字符串,例如 "Hello World",并输出反转后的字符串 "World Hello"。

实现思路

我们可以将字符串分为若干个单词,然后反转这些单词的顺序。具体实现步骤如下:

  1. 将字符串按照空格分割为若干个单词。
  2. 将这些单词保存到一个字符串数组中。
  3. 反转这个字符串数组。
  4. 将反转后的字符串数组按顺序合并成一个新的字符串。
代码实现

下面是 C++ 中反转给定字符串中的单词的程序的代码片段:

#include <iostream>
#include <string>
#include <algorithm>
#include <sstream>

using namespace std;

string reverseWords(string s) {
    // 使用 stringstream 将字符串按照空格分割为单词
    stringstream ss(s);
    string word;
    vector<string> words;
    while (ss >> word) {
        words.push_back(word);
    }
    // 反转单词顺序
    reverse(words.begin(), words.end());
    // 合并单词成一个字符串
    string result;
    for (int i = 0; i < words.size(); i++) {
        result += words[i];
        if (i != words.size() - 1) {
            result += ' ';
        }
    }
    return result;
}

int main() {
    string s = "Hello World";
    string result = reverseWords(s);
    cout << result << endl;
    return 0;
}

这段代码使用了 C++ STL 中的 stringstream 和 vector 来实现字符串分割和保存。在反转字符串数组时,我们使用了 STL 中的 reverse 函数。最后,我们将反转后的单词按顺序合并成一个新的字符串。运行上述代码,将输出 "World Hello"。

总结

本文介绍了在 C++ 中反转给定字符串中的单词的程序的实现思路和代码。通过本文的学习,我们可以更加熟练地运用 C++ STL 中的字符串流和容器,并学习如何使用 STL 中的反转函数来反转数组。