• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

функция удаления элементов по ключу

  • Автор темы -
  • Дата начала

0

Не могу сообразить как короче и проще.
C++:
List DeleteKey(List p, int x)
{
List qpre=p;
List q=p;
List s=p;
if (p&&p->key==x)
{
q=p;
p=p->next;
s=p;
while (p)
{
while (p&&p->key!=x)
{
qpre=p;
q=p->next;
p=p->next;
} 
if (p)
{
qpre->next=p->next;
p=p->next;
}
delete q;
//}
}
p=s;
return p;
}
else
{
s=p;
while (p)
{
while (p&&p->key!=x)
{
qpre=p;
q=p->next;
p=p->next;
} 
if (p)
{
qpre->next=p->next;
p=p->next;
}
delete q;
//}
}
p=s;
return p;
}
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!