3
我有一個Polygon
結構和具有以下簽名如何改進存儲許多結果的結構?
Polygon myfunction(Polygon &pol1, Polygon &pol2, int rot1, int rot2);
一個功能,其中POL 1和POL是Polygon
S,ROT1和ROT2是施加到POL 1和POL轉動。
我需要存儲應用於一組多邊形和一組允許旋轉的所有myfunction
的結果。例如,如果我有100個多邊形和4個允許旋轉,我需要存儲100 * 100 * 4 * 4 = 160000個多邊形。我知道我需要大量的記憶,但我對它很滿意。
對於我存儲他們在那樣的容器的時刻:
vector<vector<vector<vector<Polygon>> results;
,這樣調用results[pol1][pol2][rot1][rot2];
我得到正確的多邊形。
我知道訪問單個結果可能效率很低,那麼我該如何改進呢?
很好的解決!謝謝。 – 888
由於只有4次旋轉,我會說最好不要將它們包含爲地圖鍵,而應將其作爲索引。例如,對於兩個旋轉的每個組合,可以有一個地圖,使用一對多邊形作爲關鍵。 –
@ Zyx2000謝謝你的建議,但4只是一個例子。可能會有更多的旋轉。 – 888