当前位置: 首页 > news >正文

C++ 反转单词

在C++中,反转一个字符串中的单词(单词之间通过空格分隔,但单词内部保持原有顺序)可以通过以下步骤实现:

  1. 找到字符串中的所有单词,这可以通过查找空格来实现。
  2. 将单词存储在一个容器中(例如 std::vector)。
  3. 反转容器中单词的顺序。
  4. 重新构建字符串,将反转后的单词顺序拼接起来。

以下是实现这一功能的示例代码:

#include <iostream>
#include <vector>
#include <sstream>std::string reverseWords(const std::string& input) {std::vector<std::string> words;std::string word;std::istringstream iss(input);// 按空格分割字符串,存储单词while (iss >> word) {words.push_back(word);}// 反转单词的顺序std::reverse(words.begin(), words.end());// 重新构建字符串std::string reversed;for (size_t i = 0; i < words.size(); ++i) {if (i > 0) {reversed += " ";  // 在单词之间添加空格}reversed += words[i];}return reversed;
}int main() {std::string text = "Hello World This is a Test";std::string reversedText = reverseWords(text);std::cout << "Original: " << text << std::endl;std::cout << "Reversed: " << reversedText << std::endl;return 0;
}

在这个示例中,我们使用 std::istringstream 来分割输入字符串 input 为单词,并使用 std::vector<std::string> 来存储这些单词。然后我们使用 std::reverse 函数来反转单词的顺序。最后,我们遍历反转后的单词容器,将单词按照反转后的顺序拼接成一个新的字符串,并在单词之间添加空格。

这种方法确保了每个单词内部的字符顺序保持不变,只是单词在整个字符串中的位置被反转了。

http://www.lryc.cn/news/365182.html

相关文章:

  • Apache Doris 基础 -- 数据表设计(表索引)
  • 资源描述框架的用途及实际应用解析
  • 工业级物联网边缘网关解决方案-天拓四方
  • 认识微服务,认识Spring Cloud
  • 电脑设置密码怎么设置?让你的电脑更安全!
  • 搜维尔科技:SenseGlove Nova2使用主动接触反馈来模拟手掌的感觉,结合力反馈和振动触觉反馈,使其成为市场上第一款具有手掌反馈的无线触觉手套
  • 基于Python的实验室管理系统的设计与实现(论文+源码)_kaic
  • Windows系统WDS+MDT网络启动自动化安装
  • Apple开发者证书创建完整过程
  • for深入学习
  • 引用(C++)和内联函数
  • 【stm32/CubeMX、HAL库】swjtu嵌入式实验七 ADC 实验
  • springboot 解耦、隔离、异步的原则以及实战
  • 设计模式详解(八):外观模式——Facade
  • R语言绘图 | 双Y轴截断图
  • 使用PNP管控制MCU是否需要复位
  • 二重,三重积分和曲面,曲线积分的关系和区别
  • 处理STM32 DMA方式下的HAL_UART_ERROR_ORE错误
  • 初学者如何对大模型进行微调?
  • 【Qt知识】disconnect
  • String,StringBuffer,StringBuilder的区别?
  • vue基础知识点
  • 正则表达式三
  • MYSQL数据库细节详细分析
  • vue 将图片url转base64
  • Unity之XR Interaction Toolkit如何使用XRSocketInteractable组件
  • flutter3-os:基于flutter3.x+dart3+getx手机版os管理系统
  • C++ 用数组模拟队列
  • 每日一题34:数据分组之查找每个员工花费的总时间
  • 语言模型解构——Tokenizer