#include <iostream>
using namespace std;
struct Node {
int data;
Node * next;
};
class MyList{
private:
Node * head;
public:
MyList()
{
head = new Node;
head->data = 0;
head->next = NULL;
}
~MyList()
{
while (this->head != NULL) //delete node one by one, should get the next node before delete
{
Node *temp = head->next;
delete head;
head = temp;
}
}
void addFront(int d)//add new node right after the head node
{
Node * pNew = new Node;
pNew->data = d;
pNew->next = head ->next;
head->next = pNew;
}
int remove(int d) //should record the previous pointer before the deleted pointer
{
Node * pTemp = head;
while (pTemp->next != NULL && pTemp->next->data != d)
{
pTemp = pTemp->next;
}
if (pTemp -> next ==NULL)
{
cout<<"temp->next is null"<<endl;
return -1
C++ 带有头结点的单链表的简单实现
最新推荐文章于 2022-03-21 21:08:53 发布