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

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

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;
}
}
 
Что такое List ?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab