c++ - 对已转换为字符串的整数 vector 进行排序

标签 c++ string sorting int

所以我需要按数字顺序对字符串 vector 进行排序。我正在使用 sort function它几乎可以工作。假设我有已转换为字符串的数字 10, 20, 5, 200, 50, 75。 sort 函数按如下方式对它们进行排序:10, 200, 25, 5, 50, 75。所以它只是对我想的第一个字符进行排序?有没有一种简单的方法可以让它对第一个字符进行排序?是的,它们必须转换为字符串以供我特定使用。

谢谢!

最佳答案

看下面这段代码:

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

int main()
{
  std::vector<std::string> v {"123", "453", "78", "333"};
  std::sort(std::begin(v), std::end(v), [] (std::string const &A, std::string const &B) { return std::stoi(A) < std::stoi(B);});

  for(auto i : v) std::cout << i << std::endl;
}

关于c++ - 对已转换为字符串的整数 vector 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23390882/

相关文章:

c++ - 通过引用将变量传递给另一个类

c++ - 在哪个头文件中声明了函数 `_tcscpy_s`?

string - 带有元字符的 R 中的 strsplit

c# - 对列表进行排序并为每个项目赋予新的排序索引

javascript - 数据表数字排序问题

c++ - QThread 与 QTimer 和 QSerial - 育儿

c++ - boost静态库编译时链接错误 "undefined reference"

c++ - 在 C++ 中使用递归函数

c# - 字符串连接是否在内部使用 StringBuilder?

python - 使用选择排序对列表进行排序