Почему мой метод сохранения вектора в файл и последующего его чтения снова не работает? [Дубликат]

Я просто нашел еще один ответ онлайн в комментариях :

Для медианов почти в любом SQL:

SELECT x.val from data x, data y
GROUP BY x.val
HAVING SUM(SIGN(1-SIGN(y.val-x.val))) = (COUNT(*)+1)/2

] Убедитесь, что ваши столбцы хорошо проиндексированы, а индекс используется для фильтрации и сортировки. Проверить с помощью планов объяснения.

select count(*) from table --find the number of rows

Рассчитать номер медианной строки. Возможно, используйте: median_row = floor(count / 2).

Затем выберите его из списка:

select val from table order by val asc limit median_row,1

Это должно вернуть вам одну строку с нужным значением.

Jacob

-1
задан Gderu 19 March 2019 в 08:09
поделиться

1 ответ

Хотя реализация std::vector может отличаться в разных реализациях, все они являются вариантом следующего (очень упрощенного):

template <typename T>
struct vector {
    T* storage;
    int size;
};

Другими словами, битовая комбинация, составляющая std::vector ] в памяти не содержится фактического содержимого, только указатель на него. Вам нужно будет реализовать формат сериализации (иногда называемый маршаллингом) для векторов самостоятельно.

Вы можете, например, использовать буфер протокола или cap'n proto .

0
ответ дан Botje 19 March 2019 в 08:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: