Вероятно, это часть вставки нового элемента. Если вы делаете это правильно, вам нужно знать только об элементе после , куда вы хотите его вставить, и об элементе, который вы вставляете. Другой элемент можно получить, перейдя по ссылкам.
Начиная с
listPtr
|
v
---------- ----------
| |->| |
| Node L | | Node |
| |<-| |
---------- ----------
newNodePtr
|
v
----------
| |
| Node N |
| |
----------
Сначала сделай
listPointer->leftPointer->rightPointer = newNodePtr;
Так что предыдущий элемент указывает на новый элемент
newNodePtr listPtr
| |
v v
---------- ---------- ----------
| |--->| | | |
| Node L | | Node N | | Node |
| |<-| | | |-| |
---------- | ---------- | ----------
| |
|-------------|
Тогда сделай
newNodePtr->leftPointer = listPointer->leftPointer;
Так что новый элемент указывает на предыдущий элемент
newNodePtr listPtr
| |
v v
---------- ---------- ----------
| |--->| | | |
| Node L |<---| Node N | | Node |
| |<-| | | |-| |
---------- | ---------- | ----------
| |
|-------------|
Тогда сделай
listPointer->leftPointer = newNodePtr;
Чтобы следующий элемент указывал на новый элемент
newNodePtr listPtr
| |
v v
---------- ---------- ----------
| |->| | | |
| Node L | | Node N | | Node |
| |<-| |<-| |
---------- ---------- ----------
Тогда наконец
newNodePtr->rightPointer = listPointer;
Так что новый элемент указывает на следующий элемент
newNodePtr listPtr
| |
v v
---------- ---------- ----------
| |->| |->| |
| Node L | | Node N | | Node |
| |<-| |<-| |
---------- ---------- ----------