Do posortowania chce użyć gotowej funkcji sort() z biblioteki algorithm.
Super, to dobre podejście. Tylko dalsza część jest niepotrzebna. Możesz sortować tablicę, która zawiera łańcuchy - one posiadają wszystkie informacje, których potrzebujesz. Wystarczy tylko napisać odpowiednią funkcję porównującą dwa łańcuchy ze sobą.
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<std::string> table {"1", "123", "1234", "12345", "123456"};
std::sort(table.begin(), table.end(), [](const std::string &lhs, const std::string &rhs)
{
// na przykład:
if(lhs.size() > rhs.size())
{
return true;
}
else
{
return false;
}
});
for(const auto &s : table)
{
std::cout<<s<<'\n';
}
}
Oczywiście prawidłową funkcję porównującą musisz napisać samodzielnie. :)