Сортировка объектов по ключу, соответствующему определенной последовательностиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Сортировка объектов по ключу, соответствующему определенной последовательности

Сообщение Anonymous »

У меня есть последовательность структур, например

Код: Выделить всё

struct Foo
{
std::string key;
int value;
};
Точки данных, представленные этими структурами, могут поступать в любом порядке, но выходить должны в определенном порядке. Я бы представил этот порядок последовательностью ключей, например:

Код: Выделить всё

const std::vector keySequence = {"thisMustBeFirst", "thenThisOne", "andThenThatOne"};
Теперь, имея std::vector и мою жестко запрограммированную последовательность клавиш, я хочу упорядочить входные данные так, чтобы каждый объект находился в позиции своего ключа в необходимая последовательность. Предварительное условие гарантирует, что все ключи действительно существуют во входных данных, поэтому меня здесь беспокоит только сортировка.

Мой первый план был std::sort, но мне кажется, что это может быть неправильным подход, потому что я не могу найти очевидную функцию сравнения, которая могла бы его предоставить. Может быть, я неправильно об этом думаю?
Не существует жестких требований к структурам данных, так что, возможно, здесь есть другой дизайн, который работает лучше?
Буду признателен за любые предложения.

Подробнее здесь: https://stackoverflow.com/questions/792 ... c-sequence
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»