Этот метод предназначен для добавления узла по индексу, указанному со значением, переданным в Связанный список, по какой-то причине он выдает ошибку «Ошибка сегментации (сбрасывается ядро)», когда я запускаю его с использованием данных примера.Я сузил причину ссылаться на current-> next, однако понятия не имею, что делать дальше.Насколько мне известно, я не устанавливаю current в нулевое значение, и я проверил, что в связанном списке есть допустимые элементы.Даже когда я создаю условие, такое как:
if(current->next) current = current->next
, компилятор все равно выдает ошибку сегментации.
Код ниже:
Node* add(Node* head, int index, int valueInput)
{
Node* newNode;
newNode->value = valueInput;
if(index == 0){
newNode->next = head;
return newNode;
}
int i = 0;
Node* current = head;
while(i <= index && current != NULL){
if(i == (index-1)){
Node* temp = current->next;
current->next = newNode;
newNode->next = temp;
return head;
}
i++;
current = current->next;
}
return NULL;
}
class Node {
public:
int value;
Node* next = NULL;
};