以下是一个不使用reverse函数来反转字符串向量的解决方法的代码示例:
#include
#include
void reverseVector(std::vector& vec) {
int start = 0;
int end = vec.size() - 1;
while (start < end) {
// 交换start和end位置的字符
char temp = vec[start];
vec[start] = vec[end];
vec[end] = temp;
// 更新start和end的位置
start++;
end--;
}
}
int main() {
std::vector vec = {'h', 'e', 'l', 'l', 'o'};
reverseVector(vec);
for (char c : vec) {
std::cout << c;
}
std::cout << std::endl;
return 0;
}
这个方法通过使用两个指针start
和end
,从向量的两端开始交换字符的位置,直到start
指针超过了end
指针。通过这种方式,可以实现字符串向量的反转。