所以我需要按数字顺序对字符串 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/