【发布时间】:2011-10-12 13:09:33
【问题描述】:
我正在编写一个 QML 文件浏览器。现在,我想实现一个 back 和 forward 功能。此功能类似于浏览器的后退和前进功能。示例:
我从“/home/text/folder1”开始并浏览到“/home/text/folder1/src”。现在我浏览到“/home/text/folder1/src/java”。如果我按两次后退,我应该在“/home/text/folder1”,并且我不能再按后退(按钮应该变灰或以其他方式表明没有更多“上一个”项目要显示)。
我正在考虑通过双链表来实现这一点。但是,我很难理解应该在哪里插入新项目到列表中,以及应该在什么时候插入。
以前面的例子: 如果不是按两次,我只按一次(我现在在“/home/text/folder1/src”中)。如果我突然转到 "/home/text/folder2" ,现在怎么办?我的双链表现在应该是什么样子?
这是一个数据结构问题,而不是实现,因此不需要代码。
【问题讨论】:
标签: data-structures linked-list array-algorithms