Код
class List
{
struct Element
{
int data;
Element *next;
Element *pred;
};
Element *head;
public:
List() {head=NULL;}
~List();
void AddToList(int data);
void PrintList();
void SortList();
void DelElement(int key);
};
void List::DelElement(int key)
{
Element *temp1,*temp2=head;
while(temp2->next!=NULL)
{ if(temp2->data==key)
{
temp1=temp2->pred;
temp1->next=temp2->next;
temp2->next->pred=temp1;
delete temp2;
temp2=temp1;
}
temp2=temp2->next;
}
}
И заодно вопрос по деструктору, правильно ли сделал(вроде работает):
Код
List::~List()
{
while(head!=NULL)
{
Element *temp=head;
head=head->next;
delete temp;
}
}
Сообщение отредактировано: AlonZo -