第28282题 单选
如下C++代码实现了无向图的邻接表存储结构,关于该代码的描述正确的是?

以下代码实现了一个无向图的邻接表存储结构,关于该代码的说法正确的是:

#include <vector>
#include <stdexcept>
using namespace std;

class UndirectedGraph {
private:
    int vertexCount;
    vector<vector<int>> adjList;
public:
    UndirectedGraph(int n) : vertexCount(n), adjList(n) {}

    void addEdge(int u, int v) {
        if (u < 0 || u >= vertexCount || v <0 || v >= vertexCount) {
            throw out_of_range("顶点编号越界");
        }
        adjList[u].push_back(v);
        adjList[v].push_back(u);
    }

    int getDegree(int u) {
        return adjList[u].size();
    }
};
A

该代码无法正确实现无向图的邻接表,因为缺少对头节点的处理

B

addEdge函数中的越界检查是多余的,vector会自动处理越界访问

C

getDegree函数可以正确返回指定顶点的度数,实现正确

D

该代码中的adjList存储的是顶点的信息,而非邻接顶点,实现错误

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析