我希望创建一个类似于双向链表(但使用数组)的数据结构,可以使用下限/上限进行操作。
一个典型的循环数组可能如下所示:
但是如何将上下限正确地纳入其中的数学算术是什么?
- 索引2上的第1个项目的下一个返回0 - 索引0上的第1个项目的上一个返回2 - 索引4上的第2个项目的下一个返回3 - 索引3上的第2个项目的上一个返回4
谢谢!
注意:不能使用外部库。
一个典型的循环数组可能如下所示:
next = (current + 1) % count;
previous = (current - 1) % count;
但是如何将上下限正确地纳入其中的数学算术是什么?
- 0(下限第1项)
- 1
- 2(上限第1项)
- 3(下限第2项)
- 4(上限第2项)
- 索引2上的第1个项目的下一个返回0 - 索引0上的第1个项目的上一个返回2 - 索引4上的第2个项目的下一个返回3 - 索引3上的第2个项目的上一个返回4
谢谢!
注意:不能使用外部库。