Третий день уже мучаюсь, не могу сообразить, подскажите пожалуйста, как отсортировать вот к примеру такие данные в массиве типа string следующим образом:
005
01
002
67
45
89
Мне нужно отсортировать данные только начинаюшиеся с нуля, с этим проблем нет:
Stable_sort(massiv.begin(), massiv.end(), [] (auto a, auto b)
{
If((int)b[0][0]) == 48 && (int)a[0][0] == 48) //если первый элемент элемента b и a равно "0", то
{
return ((int)a[0][1]) < (int)b[0][1])); // отсортировать по второму элементу
}
else
{}
проблема возникает, как оставить абсолютно такой же порядок данных не начинаюшихся с нуля ?
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<string> v = { "005", "01", "002", "67", "45", "89" };
// делим массив на 2 группы, 1 - начинается с нуля, 2 - всё остальное
auto it = stable_partition(v.begin(), v.end(), [](const auto &x) { return x[0] == '0'; });
// сортируем первую группу
sort(v.begin(), it);
for (auto &x : v) {
cout << x << endl;
}
return 0;
}
stable_sort(massiv.begin(), massiv.end(), [](auto a, auto b)
{ return (a[0] == '0') ? a < b : a == b; });
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Аренда удаленного сервера: цены, провайдеры и условия. Руководство для начинающих
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Есть сайт, библиотека с около 1К книг (html файлов)Нужно было организовать поиск
В HTML коде увидел непонятные изображения откуда они берутся, как можно их использовать ?
Всем приветВозможно все довольно просто, но мучаюсь, как сделать так, чтобы было как на изображении?