Я просто нашел еще один ответ онлайн в комментариях :
Для медианов почти в любом 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
Хотя реализация std::vector
может отличаться в разных реализациях, все они являются вариантом следующего (очень упрощенного):
template <typename T>
struct vector {
T* storage;
int size;
};
Другими словами, битовая комбинация, составляющая std::vector
] в памяти не содержится фактического содержимого, только указатель на него. Вам нужно будет реализовать формат сериализации (иногда называемый маршаллингом) для векторов самостоятельно.
Вы можете, например, использовать буфер протокола или cap'n proto .