У меня проблема с двойными связанными списками: я не могу получить данные из узлов через другой узел. Таким образом: узел->предыдущий->предыдущий. Но node->prev в порядке. Кто-нибудь знает, почему?
Код:
/*Add value - right side*/
void addListRight(doubleList *node, int value)
{
doubleList *newNode;
newNode = createList();
newNode->val = value;
newNode->right = node->right;
newNode->left = node;
node->right->left = newNode; /*<-Error start here - 'segmentation error' or something like this*/
node->right = newNode;
}
Используя Google, я обнаружил, что некоторые ребята вводят () примерно так: (узел->право)->право. Я пробовал, но результат тот же.
Использование GCC/Ubuntu 10.10
* Я хотел бы сказать правильное слово для '->', но я не знаю его по-английски. Мой плохой .. извините! То же самое о тегах этого вопроса!
node
является началом списка, уверены ли вы, что в полеright
есть что-то (кроме нулевого указателя)? - person Felix Dombek   schedule 31.01.2011