2017-04-14 36 views
0

我想清除每個測試用例的主函數的調整列表。如何清除對的列表

class Graph 
{ 
long long int V; // No. of vertices 
list< pair<long long int,long long int> > *adj; 

public: 
Graph(long long int V); // Constructor 

//clear previous values 
void clearList(); 
}; 
void Graph::clearList() 
{ 
//WHAT SHOULD I WRITE HERE 
} 

回答

0

那麼,因爲它是一個指向列表的指針,所以應該首先檢查它的存在。而你需要決定是否要保持它的指向你清除後,它的對象,但這會清除它:

void Graph::clearList() 
{ 
    if (adj) { 
     adj->clear(); 
    } 
} 

編輯:取決於你在做什麼旁註夫婦.. 。如果頂點成員變量V的數量是你的列表中的東西,只需使用adj-> size()即可。您還應該考慮不使用指向您的列表的指針,並直接使用列表來避免Graph中的adj形式的手動生存期管理。最後,你的構造函數意味着你正在聲明頂點的數量,也許另一個容器更適合,就像一個向量?