如何清除对列表

How do I clear list of pair

本文关键字:列表 清除 何清除      更新时间:2023-10-16

我想从每个测试用例的主函数中清除adj列表。

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
}

好吧,由于它是指向列表的指针,因此您应该首先检查它是否存在。 在清除对象后,您需要决定是否要保留它指向的对象,但这会清除它:

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

编辑:几个旁注取决于你在做什么......如果顶点成员变量 V 的数量是列表中的内容,只需使用 adj->size(( 即可。 您还应考虑不使用指向列表的指针,而直接使用列表,以避免在 Graph 中手动管理 adj。 最后,您的构造函数意味着您正在预先声明顶点的数量,也许另一个容器更合适,例如向量?