Język C
: 11 wrz 2008, o 21:10
Jak napisać funkcje która będzie na liście z głową usuwać elementy włącznie z głową. Chodzi mi tutaj o to jak skasować głowę z listy i zastąpić nią inną??
Kod: Zaznacz cały
struct Element
{
int value;
Element* next;
};
(...)
void List::push_front(int inValue)
{
++mSize;
Element* e = new Element();
e -> value = inValue;
e -> next = NULL;
if(mHead == NULL) {
mHead = mTail = e;
}
else {
e -> next = mHead;
mHead = e;
}
}Czy chcesz skasować całą listę?robertm19 pisze:Jak napisać funkcje która będzie na liście z głową usuwać elementy włącznie z głową.
Kod: Zaznacz cały
void List::pop_front()
{
if(mHead != NULL) {
--mSize;
if(mHead == mTail) {
delete mHead;
mHead = mTail = NULL;
}
else {
Element* e = mHead;
e = e -> next;
delete mHead;
mHead = e;
}
}
}