【问题标题】:How do I clear list of pair如何清除对列表
【发布时间】:2017-04-14 12:26:30
【问题描述】:

我想从每个测试用例的主函数中清除 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
}

【问题讨论】:

    标签: c++ list stl std-pair


    【解决方案1】:

    好吧,既然它是一个指向列表的指针,你应该首先检查它是否存在。并且您需要决定是否要在清除它之后保留它指向的对象,但这会清除它:

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

    edit:根据你在做什么,有几个旁注......如果顶点成员变量 V 的数量在你的列表中,只需使用 adj->size() .您还应该考虑不使用指向列表的指针,而直接使用列表来避免在 Graph 中手动管理 adj 的生命周期。最后,您的构造函数暗示您要预先声明顶点的数量,也许另一个容器更合适,比如矢量?

    【讨论】:

      猜你喜欢
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      相关资源
      最近更新 更多