windows新建文件夹的算法
效果:类似windows下新建文件夹效果,建5个文件夹默认名字
新建文件夹(1) 新建文件夹(2) 新建文件夹(3) 新建文件夹(4) 新建文件夹(5)
当删除或修改新建文件夹(3),新建文件夹(4) 再建一个文件夹的时候命名为 新建文件夹(3) 依此类推
情景:文件夹名字信息需存储在数据库中,就不用其他数据结构了。
已有方法:
1、遍历呗,每次从新建文件夹(1)开始遍历比较,若存在,则用 新(2) 遍历比较...直到 新(n) 可用。
2、用个链表保存名字为 新建文件夹(n) 的序号,链表是有序的,新建时遍历一次链表找到最小的未被使用的序号。 问题:链表新建时要维护,修改时要维护,删除时要维护,维护的地方有点多吧。
还有其他方法吗? 算法 windows
[解决办法]
优先队列。
维护一个优先队列和1个static 变量
新建文件夹:
队列空时,静态变量++,返回变量
队列不空时,从队列头取一个,返回
删除文件夹:
直接把数据进队列即可。
[解决办法]
用set就可以了,把未使用的记录下来,添加就从set里面删除第一个,删除就向set里面加
[解决办法]
我感觉windows就是用遍历的方式来处理这个情况的。
先建立 新建文件夹,如果建立不成功,序号+1。
一个while循环即可。
不会在一个文件夹下建立几千万个 新建文件夹吧。
少量数据的情况下,遍历不失为一种简单有效的方法。