我经常希望输出一些名称为file-1
,file-2
等的文件。但是,如果有10个或更多文件,则文件的字母顺序将与数字排序不同,因为file-10
介于file-1
和file-2
之间。
如果我事先知道会有多少个文件,我可以用0来填充较低的数字。但我想以“流式”的方式做到这一点,而不事先知道会有多少文件。
也就是说,我想要一个无限的字符串序列S(n),这样:
是否有任何序列满足这些条件?
答案 0 :(得分:0)
这是部分解决方案。为简单起见,这仅使用符号0
和1
。
S(1)是字符串1
。从S(i)生成S(i + 1):
1
s组成,则i + 1是2的幂。将log2(i + 1)0
s附加到S(i)。序列开始:
1
,10
,11
,1100
,1101
,1110
,1111
,1111000
,1111001
,...
这会产生一系列字符串,其长度增长为O((log(i))^ 2),这不是我想要的。结果字符串也不是人类可读的。