c++ - 如何在 C++ 中反转字符串 vector ?

标签 c++ string printing vector

<分区>

我有一个字符串 vector ,我想反转 vector 并打印它,或者简单地说,以相反的顺序打印 vector 。我应该怎么做?

最佳答案

如果你想以相反的顺序打印 vector :

#include <algorithm>
#include <iterator>
#include <iostream>
#include <vector>
#include <string>

std::copy(v.rbegin(), v.rend(), 
  std::ostream_iterator<std::string>(std::cout, "\n"));

如果要反转 vector ,然后打印它:

std::reverse(v.begin(), v.end());
std::copy(v.begin(), v.end(),
  std::ostream_iterator<std::string>(std::cout, "\n"));

如果你想创建 vector 的反向拷贝并打印它:

std::vector<std::string> r(v.rbegin(), v.rend());
std::copy(r.begin(), r.end(),
  std::ostream_iterator<std::string>(std::cout, "\n"));

最后,如果您更喜欢编写自己的循环而不是使用 <algorithm> :

void print_vector_in_reverse(const std::vector<std::string>& v){
  int vec_size = v.size(); 
  for (int i=0; i < vec_size; i++){ 
    cout << v.at(vec_size - i - 1) << " ";
  }
}

或者,

void print_vector_in_reverse(std::vector<std::string> v) {
  std::reverse(v.begin(), v.end());
  int vec_size = v.size();
  for(int i=0; i < vec_size; i++) {
    std::cout << v.at(i) << " ";
  }
} 

引用资料:

关于c++ - 如何在 C++ 中反转字符串 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11019722/

相关文章:

java - 查找相似的字符串

c++ - 为什么类方法不能调用同名的全局函数?

c++ - 使用锁 C++ 锁定数组的元素

c++ - pcl_visualizer.cpp 与 2015 构建错误

c - 尝试用空格和引号标记字符串

java - 我的扫描仪的 nextLine() 方法无法处理所有输入,我该如何修复它?

c++ - 当派生类添加了数据成员时,派生类的构造函数应该如何在 C++ 中使用

c# - 需要解析一个字符串直到文件末尾

python - 在 Ipython Notebook 中查看打印输出的所有行

fonts - 从 Google Font API 打印字体