C++中链表问题

C++中链表问题,c++,linked-list,C++,Linked List,我首先尝试创建一个节点,但我不确定它是否正确。很抱歉,我对C++是新的。我不知道如何让我的节点p指向链表的第一个元素。希望能提供帮助。谢谢 以下是我的功能: template<class Type> void longestSequence(linkedListType<Type>& list, int& maxCount, Type& value) { nodeType<Type> *p = first; int co

我首先尝试创建一个节点,但我不确定它是否正确。很抱歉,我对C++是新的。我不知道如何让我的节点p指向链表的第一个元素。希望能提供帮助。谢谢

以下是我的功能:

template<class Type>
void longestSequence(linkedListType<Type>& list, int& maxCount, Type& value)
{
    nodeType<Type> *p = first;
    int count = 0;
    int tempValue = 0;
    while(p != NULL)
    {
        if(p->info == p->link->info)
        {
            count++;
            tempValue = p->info;
        } 
        p = p->link;
    } 
    if(count > maxCount)
    {
        maxCount = count;
        value = tempValue;
    }
    else if(count == maxCount && tempValue < value)
    {
        value = tempValue;
    }
}
你的类linkedListType应该有一个成员nodeType*头。 创建链表的第一个节点时,应将其地址指定给head

然后,您可以随时访问链接列表的第一个节点。
例如,nodeType*p=list.head

您需要检查p和p->info是否都不为空,而且,您可能应该检查这些值是否与值匹配?首先感谢您的建议。我会设法修改守则。然而,编译器不断显示出错误,“第一”不是一个声明的标识符,我不知道如何解决ITI,抱歉我是C++新手,这是没有理由道歉的。继续学习吧首先谢谢你的回答。首先有一个受保护的节点类型*。但是当我试图通过键入nodeType*p=list.first来访问它时,编译器说我无法访问受保护的变量您有两个选项:1。公开该成员。然后你可以访问它。2.将成员设为私有并定义一个getter函数来访问它。很抱歉,我只能处理此特定函数,而不能添加新成员函数或更改头文件。如果无法更改访问说明符,则无法访问变量。可以从派生类访问受保护的成员。您必须创建一个派生类,并使您的函数成为派生类的成员。为什么不能更改头文件?