У меня есть база данных, в которой я хотел бы сохранить произвольное упорядочение для определенного элемента. База данных, о которой идет речь, не поддерживает наборы заказов, поэтому я должен сделать это сам.Алгоритм для поддержания «упорядочивающей строки» для упорядочения элементов базы данных
Один из способов сделать это было бы хранить значение с плавающей точкой для позиции элемента, а затем взять среднее положение окружающих элементов при вставке нового один:
Item A - Position 1
Item B - Position 1.5 (just inserted).
Item C - Position 2
Теперь, для различных причины, по которым я не хочу использовать float, я бы хотел использовать строки. Например:
Item A - Position a
Item B - Position aa (just inserted).
Item C - Position b
Я хотел бы сохранить эти строки как можно короче, так как они никогда не будут «прибраться».
Может ли кто-нибудь предложить алгоритм для генерации такой строки как можно более эффективно и компактно?
Спасибо,
Tim
Если ваш следующий i tem заказывается между пунктами A и B (в позиции между 'a' и 'aa'), какую строку заказа вы бы назначили ему? –
Хороший вопрос :) Я бы хотел, чтобы алгоритм всегда позволял мне вставлять значение, в отличие от приведенного выше примера! – tarmes