2014-10-01 3 views
0

Сначала я попытался создать узел, но я не уверен, что он верен. Мне жаль, что я новичок в C++. Я не уверен, как позволить моему узлу p указать первый элемент связанного списка. Надежда поможет. БлагодаряСвязанный список вопросов в C++

Вот моя функция:

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; 
    } 
} 
+0

вам нужно проверить, что и 'p', и' p-> info' не является нулевым, также вы должны, вероятно, проверить, что эти значения фактически соответствуют 'value'? – AlexanderBrevig

+0

спасибо за ваш совет. я попытаюсь изменить код. Тем не менее, компилятор продолжает показывать ошибку, которая «первая» не является объявленным идентификатором, и я не знаю, как ее решить. – user2847449

+0

«Мне жаль, что я новичок в C++». Это не повод извиняться за что-либо. Просто продолжайте учиться. :) – 0x499602D2

ответ

0

linkedListType<Type> Ваш класс должен иметь элемент nodeType<Type>* head.
Когда вы создаете первый узел связанного списка, вы должны назначить его адрес head.

Тогда вы можете получить доступ к первому узлу связанного списка, когда захотите.
Например, nodeType<Type> *p = list.head

+0

спасибо за ваш ответ. есть защищенный nodeType * первый. но когда я попытался получить к нему доступ, набрав «nodeType * p = list.first», компилятор сказал, что я не могу получить доступ к защищенной переменной – user2847449

+0

, у вас есть 2 варианта: '1.' Сделать участника общедоступным. Затем вы можете получить к нему доступ. '2.' Сделайте его частным и определите функцию getter для доступа к нему. – cppcoder

+0

Мне жаль, что я могу работать только с этой конкретной функцией вместо добавления новой функции-члена или изменения файла заголовка. – user2847449

Смежные вопросы