【发布时间】:2020-07-18 18:29:21
【问题描述】:
我目前正在摆弄一个试图解决 2d rubix 立方体的程序。该程序使用哈希表作为各种内存,它保存不同类别的信息并重复运行。从运行到运行,我想释放/删除某些类别的信息,而不是在每次运行结束时释放整个表(这是我目前正在做的)。
我想出了两种方法,但我不确定该使用哪一种。要么我基本上为每个类别制作一个数组/堆栈,我保存一个以后可以释放的指针。或者我为所有不同的类别制作单独的哈希表,并自行决定释放每个类别。
还有其他选择吗?我在某些地方读到了指针池,但我不确定那可能是什么。任何 ide 或有用的 cmets 都会很棒!
【问题讨论】:
-
可能是一堆指向哈希表的指针,优先于插入时间?
-
“我想释放/删除...”那里的关键词是
remove。在从哈希表中删除之前,您无法释放任何内容。从哈希表中删除条目后,只需一行代码即可释放内存。 -
一个数据结构应该匹配数据的约束。 “哈希”与二维数组的约束不匹配
-
选择#1:您需要动态分配吗?如果不是:使用静态数组。
-
谢谢大家的意见!我想我会选择一些静态数组。但我可能会尝试将它们放入锯齿状数组中。将不得不尝试如何使用结构来做到这一点。我们会看看情况如何,否则我可能会发布另一个问题。