Здравствуйте, Acteon, Вы писали:
A>Здравствуйте, aks007, Вы писали:
A>>Кто-нибудь, пожалуйста, выскажите Ваши идеи по поводу реальности такого сочетания. Заранее спасибо.
A>Эмм... std::hash_multiset от MS.
Есть ли ещё способы? Просто: 1) Это курсовой проект первого курса , реализация по возможности самостоятельная; 2) На данный момент есть отображение complex <-> double <-> unsigned long long. Считаю что трабл в том, что такой целочисленный тип для индексации ну никак не подходит...
Здравствуйте, aks007, Вы писали:
A>Здравствуйте, Acteon, Вы писали:
A>>Здравствуйте, aks007, Вы писали:
A>>>Кто-нибудь, пожалуйста, выскажите Ваши идеи по поводу реальности такого сочетания. Заранее спасибо.
A>>Эмм... std::hash_multiset от MS.
A>Есть ли ещё способы? Просто: 1) Это курсовой проект первого курса , реализация по возможности самостоятельная; 2) На данный момент есть отображение complex <-> double <-> unsigned long long. Считаю что трабл в том, что такой целочисленный тип для индексации ну никак не подходит...
Так а в чем проблема? Разбираешься как работает то что уже есть (set, multiset, hash_set, hash_multiset). И делаешь так же, но по своему. Для первого курса хватит.
A>Есть ли ещё способы? Просто: 1) Это курсовой проект первого курса , реализация по возможности самостоятельная; 2) На данный момент есть отображение complex <-> double <-> unsigned long long. Считаю что трабл в том, что такой целочисленный тип для индексации ну никак не подходит...
Приехали. Кто ж комплексные числа сортирует на первом курсе, над котороми даже отношение порядка нельзя ввести, удовлетворяющее естественному свойству близости?
Re: Сортировка "Линейная выборка подсчётом", "комплексный" т
Здравствуйте, aks007, Вы писали:
A>Кто-нибудь, пожалуйста, выскажите Ваши идеи по поводу реальности такого сочетания. Заранее спасибо.
Сортировка подразумевает, что над типом определён порядок. (Например, отношение "<").
Для комплексных чисел такого естественного порядка нет — в отличие от одномерных (целых, вещественных). Какой искусственный порядок будешь вводить?
Например, лексикографический
— по Re, затем по Im;
— или по Abs, затем по Arg;
— или наоборот, по Arg, затем по Abs;
— или по байтам (memcmp)
Сортировка является частным случаем группировки.
Если мы отсортируем последовательность с одним произвольным порядком, а затем посмотрим на результат с точки зрения другого порядка, — последовательность будет неупорядочена (что неудивительно), но сгруппирована: одинаковые¹ элементы будут идти подряд.
¹) тут есть тонкие различия между идентичностью и эквивалентностями, — могу развернуть тему позже
Для выбора подсчётом порядок, как таковой, не нужен.
Достаточно хэш-таблицы (которая основана на отношении эквивалентности, а не порядка).
Тем самым мы запросто решим задачу группировки.
Здравствуйте, aks007, Вы писали:
A>1) Это курсовой проект первого курса , реализация по возможности самостоятельная;
Какие инструменты считаются доступными (разрешёнными), а какие нужно изобретать самостоятельно?
Ибо, задача-то решается в десяток строчек, с использованием STL-ных контейнеров (vector и map), алгоритмов (for_each, fill_n) и адаптеров (back_inserter).
A>2) На данный момент есть отображение complex <-> double <-> unsigned long long. Считаю что трабл в том, что такой целочисленный тип для индексации ну никак не подходит...
А никто не заставляет использовать сплошной массив счётчиков.
Подойдёт любой разреженный — например, std::map.