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

Тема в разделе "C/C++/C#", создана пользователем 0, 5 май 2011.

  1. 0

    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;
    }
    }
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Что такое List ?
     
Загрузка...

Поделиться этой страницей