мне подсказали что можно как-то так, но тут запутанно, не совсем пойму:
struct Node{
int value;
Node* next;
Node* prev;
};
void insert(Node*n, int val)
{
Node*a = new Node;
n->next = a;
a->next = n->next;
a->value = val;
n->value = a->value;
}
Тогда уж так:
void insert(Node*n, int val)
{
Node*a = new Node;
a->value = val;
a->next = n->next;
n->next = a;
a->prev = n; // Не нужно для односвязного списка
if (a->next) a->next->prev = a; // Не нужно для односвязного списка
}
Т.е. вы просто вставляете после n
новый узел, обновляя соответствующим образом поля n
и a
. n
теперь указывает на a
, а a
- куда раньше указывал n
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенная в степени n, равна самому числуПодсчитать все числа...
Сделал глобальный хук на отлов нажатий некоторых клавишНо, не всегда срабатывает