我很難在這裏理解其他人的代碼。 如果有人幫我,我會很感激。對象與排序比較。 C++
比方說,有一個對象數組:vpair_list
和這個vpair_list
有一個類型vpair
。因此,這將是這樣的:
class vpair
{
public:
int vid;
int vlabel;
};
bool operator < (const vpair& x, const vpair& y);
vpair* vpair_list;
vpair_list = new vpair[25];
..
sort(vpair_list, vpair_list+j);
我從知道是sort()
比較陣列vpair_list
的每個元素和排序。
事情是,我不明白如何排序工作,因爲對象vpair
有兩個不同的屬性。
排序工作是否像比較每個屬性(vid
和vlabel
)或....?我認爲排序應該是通過比較特定的字段或屬性(這裏是vid
或vlabel
)來完成。
但是這段代碼沒有任何關係,似乎只是比較整個對象。有人能告訴我這是如何工作的嗎?
預先感謝您。
通過調用操作員完成排序。你已經聲明瞭它,但是你還沒有定義它。 –
它使用'運算符<',但是實現... – Yuushi
非常感謝你們。但我的意思是'運營商'比較哪個領域。它是否比較vid和vlabel,如果是這樣,如果(vpair_list [0] .vid vpair_list [1] .vlabel)會發生什麼?它如何進行排序? –
WonKook