0
在我的作業我得到這款C風格的結構:不同的密鑰
typedef struct {
int x, y;
} Point;
我有2個AVL樹。在第一個值應首先由X位置,然後由Y,並在第二個樹中,首先由Y然後由X排序。
我的C++有點生鏽,所以我想知道如果我認爲它是正確的:
因爲我有2種排序形式,我應該有2個額外的類,將被用作AVL樹的鍵:每個將基於Point類型,並將賦值運算符重載,以便能夠轉換從鍵類型到點類型。
我想使用兩個類的原因是爲它們中的每一個都「過載」<「運算符,所以我不會有一些奇怪的compareByX(Point p)
函數。
僞代碼AVL樹聲明:
AVLTree< XthenY, Value > firstTree;
AVLTree< YthenX, Value > secondTree;
這是一個合理的事是什麼?
我希望是足夠清晰的
感謝您的回覆。問題是在賦值時我們不允許操作Point struct – bks
@bks:這個選項不需要修改'struct Point'。 –
我們不能在我們的作業中使用STL,對不起,我沒有寫過 – bks