2017-04-14 33 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形式的手动生存期管理。最后,你的构造函数意味着你正在声明顶点的数量,也许另一个容器更适合,就像一个向量?