【发布时间】:2013-04-26 02:57:37
【问题描述】:
我正在尝试提出一种算法来通过分页遍历列表。
我只对初始索引和“页面”的大小感兴趣。
例如,如果我的列表有 100 项,页面长度为 10:
1st page: starts at 0, length 10
2nd page: starts at 11, length 10
3rd page: starts at 21, length 10
...
Nth page: starts at 90, length 10
我的问题是想出一个优雅的解决方案来满足这些情况:
1. list has 9 elements, page length is 10
1st page: starts at 0, length 9
2. list has 84 elements, page length is 10
1st page: starts at 0, length 10
2nd page: starts at 11, length 10
3rd page: starts at 21, length 10
...
Nth page: starts at 80, length 4
我可以用一堆条件和模运算来做到这一点,但我想知道是否有人可以为这个问题提供更好/优雅的方法。
谢谢!
【问题讨论】:
-
如果项目索引为 0 并且每个项目有十个...我认为您不希望第 2 页从 11 开始:)
-
从页面开始[(page_n-1)*elements_per_page] 并在页面中停止[((pages_n-1)*elements_per_page)+elements_per_page-1] - 删除 -1 以从第 0 页开始
标签: algorithm pagination