生成唯一字符串的有效方法

The effective way to generate unique string

我有一组条目;每个条目都包含一个唯一的名称(C 字符串)。创建新条目时,用户可以为条目提供唯一名称,也可以不提供。如果用户未提供名称,我必须生成一个默认的唯一名称。我想计算条目数,将其递增并将其用作新条目唯一名称的索引,但该名称可能已经存在。在我的案例中,还有哪些其他方法可以生成真正唯一的名称?

将您已有的所有名称存储在散列中 table。使用您描述的算法生成新名称,然后通过哈希查找检查唯一性。如果该名称已被使用,请增加数字并重试;继续,直到找到一个尚未被使用的名字。

注意:此问题仅存在于您让用户输入唯一名称的情况下。如果您以编程方式生成所有唯一字符串,则不必进行重复检查:保持条目总数 运行 就足够了。