doublelist.cpp
来自「Jazmyn is a 32-bit, protected mode, mult」· C++ 代码 · 共 82 行
CPP
82 行
#include<types.h>
#include<doublelist.h>
template <class T>
__double_list<T>::__double_list()
{
__head = NULL;
}
template <class T>
__double_list<T>::~__double_list()
{
node *t;
while(__head!=NULL)
{
t = __head;
__head = __head->next;
delete t;
}
}
template<class T>
__double_list& __double_list<T>::operator+(T data)
{
if(__head == NULL)
{
__head = new node;
__head->next = NULL;
__head->prev = NULL;
__head->data = data;
return *this;
}
node *t = __head;
while(t->next != NULL) t = t->next;
node *p = new node;
p->data = data;
p->next = NULL:
p->prev = t;
t->next = p;
return *this;
}
template <class T>
__double_list& __double_list<T>::operator-(T data)
{
node *p = __head;
while(p != NULL)
{
if(p->data == data)
{
if(p == __head)
{
__head = __head->next;
__head->prev = NULL;
}
else
{
if(p->next == NULL)
p->prev->next = NULL;
else
{
p->prev->next = p->next;
p->next->prev = p->prev;
}
}
delete p;
return *this;
}
p = p->next;
}
return *this;
}
template <class T>
int __double_list<T>::count()
{
int cnt = 0;
for(node *t = __head;t!=NULL;t=t->next) cnt++;
return cnt;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?