У меня есть список объектов с атрибутом перечисления, по которому я хочу отсортировать.Из значений перечисления мне важны только A, B и C, и я требую, чтобы в отсортированном списке A При проведении сравнения необходимо ли указывать согласованный порядок для сторонних значений перечисления относительно критических значений?Например, вызывает ли это проблемы, если сравнение между A, D приводит к -1, тогда как сравнение между D, A приводит к 0, или также -1?
Этот код реализуется в C #, которыйЯ считаю, использует быструю сортировку.После анализа алгоритма быстрой сортировки может показаться, что это может стать проблемой, если одно из посторонних значений станет опорным.Необходимость явной обработки посторонних значений приводит к большему количеству обращений.Возможно, я мог бы присвоить значения перечислениям, но нет никакой гарантии, что не будет другого порядка сортировки, который был бы полезен в других случаях.Я не уверен, достаточно ли просто предположить, что список будет лишен дополнительных значений перед сортировкой, поскольку это может привести к ошибкам, которые трудно обнаружить, если допустить нарушение.Я мог бы выдавать ArgumentException, когда эти значения используются, но тогда я бы добавил достаточно случаев, которые я мог бы просто отсортировать вместо них.О лучшем варианте, который я могу придумать, - это создать функцию приведения, которая преобразует перечисления в целые.