Data structures 哈希表保持排序?

Data structures 哈希表保持排序?,data-structures,hash,hashtable,Data Structures,Hash,Hashtable,我的问题不是问你是否可以对一个已经存在的哈希表进行排序,但是如果我可以的话,正确索引的键会保持排序吗 例如,如果我需要一个散列表,其中我散列了人的出生年份,我希望最小的总是在最大的下面。如果我再做一次,它仍然会有最小的在最大的下面。这听起来合乎逻辑,但在什么情况下,订单会中断 tl;dr如果我有散列表散列顺序索引的键,即使在重新散列期间它们也会保持排序吗

我的问题不是问你是否可以对一个已经存在的哈希表进行排序,但是如果我可以的话,正确索引的键会保持排序吗

例如,如果我需要一个散列表,其中我散列了人的出生年份,我希望最小的总是在最大的下面。如果我再做一次,它仍然会有最小的在最大的下面。这听起来合乎逻辑,但在什么情况下,订单会中断


tl;dr如果我有散列表散列顺序索引的键,即使在重新散列期间它们也会保持排序吗
若您希望从数据结构中获得排序输出,那个么应该调用std:map/multimap或std::set/multiset。请注意,这里的实现不是哈希表,而是使用二叉树作为基本数据结构。

您的问题很难理解。。。此外,您所要求的似乎取决于具体的哈希表实现。你是在问一种特殊的语言吗?如果是这样,请添加相关的标签。我用C++编写,但它只是一个数据结构问题。我不是问如何生成一个或任何关于哈希表性质的东西。基本上,如果我的哈希函数按从大到小排序,那么它基本上排序正确吗?通常,哈希表只是将键映射到值,它存储键/值对的顺序是特定于实现的。例如,Java HashMap说“这个类不保证映射的顺序;特别是,它不保证随着时间的推移顺序保持不变。”它们不“保持”排序,因为它们从一开始就不会被排序。哈哈,所以我没有使用STL im,而是使用Weiss对二次探测哈希表的实现,他使用了一个向量实现(在我的头脑中,这几乎是一个奇特的数组),这是为了我自己的知识,但这有助于了解它的实现依赖性。