reverse c++
时间: 2023-06-15 14:05:30 浏览: 90
反转一个字符串可以使用C++的标准库函数`reverse`,也可以手动实现。
使用标准库函数`reverse`:
```c++
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str = "hello world";
std::reverse(str.begin(), str.end());
std::cout << str << std::endl; // 输出 "dlrow olleh"
return 0;
}
```
手动实现反转函数:
```c++
#include <iostream>
#include <string>
void reverseString(std::string& str) {
int n = str.length();
for (int i = 0; i < n/2; i++) {
std::swap(str[i], str[n-i-1]);
}
}
int main() {
std::string str = "hello world";
reverseString(str);
std::cout << str << std::endl; // 输出 "dlrow olleh"
return 0;
}
```
两种方法都可以实现字符串反转,使用标准库函数更加方便,手动实现则更加灵活。
相关问题
reverse C++
"reverse"在C++中通常是指字符串、数组或其他序列类型的反转操作。这里有几个例子:
1. **反转字符串**:
```cpp
#include <string>
std::string reverseString(const std::string& str) {
std::string reversed;
for (int i = str.length() - 1; i >= 0; --i) {
reversed += str[i];
}
return reversed;
}
```
2. **反转字符数组**:
```cpp
#include <algorithm>
void reverseArray(char arr[], int start, int end) {
while (start < end) {
char temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
++start;
--end;
}
}
```
3. **使用标准库算法反转容器**:
对于`std::vector`, 可以直接使用`std::reverse`:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end());
```
reverse函数c++
下面是一个简单的 C 代码实现反转字符串的函数:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "hello world";
reverse(str);
printf("%s\n", str);
return 0;
}
```
该函数接受一个指向字符串的指针,然后使用循环将字符串中的字符反转。在循环中,我们首先交换字符串的第一个字符和最后一个字符,然后交换第二个字符和倒数第二个字符,以此类推,直到字符串的中间位置。最后,我们打印反转后的字符串。
阅读全文