Логика фиксированного количества записей на странице в алфавитном порядке - PullRequest
0 голосов
/ 11 марта 2012

Самый простой способ объяснить этот вопрос - это на примере. См. Следующие два изображения ссылок для просмотра на определенном веб-сайте:

Image1

Image2

По сути, он работает так, что на каждой странице имеется заданное количество записей, и он работает «задом наперед», чтобы разбить страницы просмотра на соответствующее количество диапазонов. Поэтому, когда записей относительно больше (как в случае записей, начинающихся с «A»), существует больше диапазонов и страниц, чем при меньшем количестве записей («X»). Я занимаюсь разработкой в ​​Ruby on Rails, но мне также будет интересно узнать некоторые аспекты логики. Спасибо!

1 Ответ

0 голосов
/ 11 марта 2012

Самый простой способ визуализировать это - подумать о «самых глубоких» группах, каждая из которых имеет 10 элементов, поэтому разбейте все свои записи на группы по 10. Теперь на каждую группу из 10 должна ссылаться группа верхнего уровня.Каждая группа из 10 должна быть отнесена к группе еще более высокого уровня.Наконец, вы достигнете группы самого высокого уровня.

Для любой группы вы берете n первых букв первого и последнего элементов в их дереве, где n - это глубина.Таким образом, для группы глубиной 1 вы берете 1-й символ самого первого элемента (рекурсивно идите глубже, пока не достигнете самых редких ветвей) в качестве начала его диапазона, а 1-й символ последних элементов - в качестве конца его диапазона..

Я мог бы смоделировать это в PHP, если бы вы могли получить от него то, что вам нужно, но не совсем понял концепцию здесь.

...