C ++中链表的长度

时间:2015-03-27 06:09:28

标签: c++

我有一个结构A,如下所示:

struct A 
            {
            int v; 
            double weight;
            A* next;
            A(int x, double w, A* t){
                v=x;
                next = t;
                weight = w;
            }

        };

我还以下列方式将这些链接列表保存在向量中:

typedef A* link; 
        vector<link>adj; 

现在,我想找到adj [i]的链表长度。我知道这就像遍历链表并递增计数以获得链表的长度。出于某种原因,我没有得到我想要的东西。我想知道,如果有人能给我一些指示。感谢

1 个答案:

答案 0 :(得分:1)

之类的,

int count = 0;
link* node = adj[i];

while(node != 0) {
    node = node->next;
    count ++;
}