Что бы вы ни собирались делать, учитывая ваши условия, я бы позаботился о том, чтобы вы составили большую кучу тестовых случаев (например, получили несколько наборов данных и перемешали их несколько тысяч раз), так как я подозреваю, что это будет легко выбрать сорт, который не соответствует вашим требованиям.
«Не важно» хитроумно, так как большинство алгоритмов сортировки зависят от строгого упорядочения значения сортировки - если A «меньше или равно» B, а B «меньше или равно» C, то он предполагает, что A меньше или равно C - в вашем случае, если A «не заботится» о B, но заботится о C, но B меньше, чем C, то что вы возвращаете для сравнения AB, чтобы гарантировать А будет сравниваться с С?
По этой причине, поскольку это небольшие векторы, я бы рекомендовал НЕ использовать какой-либо из встроенных методов, так как я думаю, что вы получите неправильные ответы, вместо этого я бы создал собственную сортировку вставки.
Начните с пустого целевого вектора, вставьте первый элемент, затем для каждого последующего элемента просканируйте массив, ища границы того, где он может быть вставлен (т.е. игнорируя «все равно», найдите последний элемент, после которого он должен идти и первым он должен идти раньше) и вставить его в середину этого промежутка, перемещая все остальное по целевому вектору (т.е. он увеличивается на одну запись каждый раз).
[Если операция сравнения особенно дорогая, вам лучше начать с середины и сканировать в одном направлении, пока не достигнете одной границы, а затем выбрать, будет ли найдена другая граница, движущаяся от этой границы, или средняя точка. ... это, вероятно, уменьшит количество сравнений, но, прочитав то, что вы говорите о своих требованиях, вы не сможете, скажем, использовать бинарный поиск, чтобы найти правильное место для вставки каждой записи]
Да, это в основном O (n ^ 2), но для небольшого массива это не должно иметь значения, и вы можете доказать, что ответы верны. Затем вы можете увидеть, будут ли другие сортировки работать лучше, но если вы не сможете вернуть правильный порядок для любой пары, то вы получите странные результаты ...