数据结构单词逆置怎么写
时间: 2023-10-20 22:36:50 浏览: 89
数据结构实现就地逆置
可以使用以下代码来实现对数据结构单词逆置的操作:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
std::string reverseWords(std::string str) {
std::reverse(str.begin(), str.end()); // 对整个字符串进行逆置
int start = 0;
int end = 0;
while (end < str.length()) {
if (str[end == ' ') { // 遇到空格时,将单词进行逆置
std::reverse(str.begin() + start, str.begin() + end);
start = end + 1; // 更新下一个单词的起始位置
}
end++;
}
// 对最后一个单词进行逆置
std::reverse(str.begin() + start, str.end());
return str;
}
int main() {
int T;
std::cin >> T;
std::cin.ignore(); // 忽略换行符
for (int i = 0; i < T; i++) {
std::string sentence;
std::getline(std::cin, sentence);
std::string reversedSentence = reverseWords(sentence);
std::cout << reversedSentence << std::endl;
}
return 0;
}
```
这段代码首先定义了一个函数`reverseWords`,该函数接受一个字符串作为参数,并返回逆置后的字符串。在函数中,我们首先对整个字符串进行逆置,然后通过遍历字符串中的每个字符,找到单词的起始位置和结束位置,并对每个单词进行逆置。最后返回逆置后的字符串。
在`main`函数中,我们首先读取测试数据的组数T,然后使用`std::getline`函数逐行读取每组测试数据,将其传递给`reverseWords`函数进行逆置操作,并将结果输出到标准输出流中。
这样就实现了对数据结构单词逆置的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文