В моей домашней работе мне дали такую структуру в стиле C:
typedef struct {
int x, y;
} Point;
У меня есть 2 дерева AVL.значения в первом должны быть отсортированы сначала по расположению X, затем по Y, а во втором дереве, сначала по Y, а затем по X.
мой C ++ немного ржавый, поэтому я хочу знать, понял ли яэто правильно:
, поскольку у меня есть 2 формы сортировки, у меня должно быть 2 дополнительных класса, которые будут использоваться в качестве ключей для деревьев AVL: каждый будет основан на типе Point, и оператор присваивания будет перегружен вбыть в состоянии преобразовать из типа ключа в тип Point.
причина, по которой я хочу использовать два класса, состоит в том, чтобы перегрузить оператор "<" для каждого из них, поэтому мне не нужно иметь некоторые нечетные <code>compareByX(Point p) функция.
псевдокод для объявления деревьев AVL:
AVLTree< XthenY, Value > firstTree;
AVLTree< YthenX, Value > secondTree;
это разумно сделать?
надеюсь, мой вопрос был достаточно ясен