, например, у меня есть 5 Int вектор:Как отсортировать угловой многомерный вектор, используя sort()?
a:3,5,9
b:3,5
c:
d:3,5,2
e:2,17
Я хочу результат сортировки: с, е, б, г, а, потому что:
с является кратчайшим, так что на первый
первый элемент е минимальна, так что на второй
б и д имеет тот же элемент на первом и втором, но Ь имеет меньший размер, так что в качестве третьего
т он третий элемент а больше, чем D, так что это последний
вектор в качестве кода:
std::vector<int> a;
a.push_back(3);
a.push_back(5);
a.push_back(9);
std::vector<int> b;
b.push_back(3);
b.push_back(5);
std::vector<int> c;
std::vector<int> d;
d.push_back(3);
d.push_back(5);
d.push_back(2);
std::vector<int> e;
e.push_back(2);
e.push_back(17);
std::vector<std::vector<int> >myvector;
myvector.push_back(a);
myvector.push_back(b);
myvector.push_back(c);
myvector.push_back(d);
myvector.push_back(e);
вектор находится в векторе «myvector», как написать своего рода() функция к обрабатывать «myvector», который получит ожидаемый результат сортировки?
Нет необходимости для 'srand', просто' станд :: сортировать (myvector.begin(), myvector.end()); 'это хорошо, как' станд :: sort' использует ['operator <' for 'std :: vector'] (http://en.cppreference.com/w/cpp/container/vector/operator_cmp), который сравнивается в лексикографическом порядке. Здесь вам не нужны никакие генераторы случайных чисел. – vsoftco
вопрос сказал произвольный сорт для вектора, который не совсем уверен, что он спрашивает, тогда я решил, что случайные сгенерированные числа сортируются в векторе. спасибо tho –
Я думаю, что OP просто означало, что любая возможная комбинация таких векторов должна быть сортируемой. В основном хочет отсортировать любые 'vector>', а 'std :: sort' делает именно то, что хочет OP. –
vsoftco