📄 linklist.cpp
字号:
#include "LinkList.h"
template <class T>
LinkList<T>::LinkList(T a[], int n)
{
first = new Node<T>;
first->next = NULL;
for (int i = 0; i < n; i++)
{
Node<T> *s;
s = new Node<T>;
s->data = a[i];
s->next = first->next;
first->next = s;
}
}
template <class T>
LinkList<T>::~LinkList()
{
Node<T> *p = first;
Node<T> *q;
while(p)
{
q = p;
p = p->next;
delete q;
}
}
template <class T>
void LinkList<T>::Insert(int i, T x)
{
Node<T> *p = first;
int j = 0;
while(p && j < i - 1)
{
p = p->next;
j++;
}
if (!p)
throw "位置";
else
{
Node<T> *s = new Node<T>;
s->data = x;
s->next = p->next;
p->next = s;
}
}
template <class T>
T LinkList<T>::Delete(int i)
{
Node<T> *p = first;
int j = 0;
Node<T> *q;
while(p && j < i - 1)
{
p = p->next;
j++;
}
if (!p || !p->next)
throw "位置";
else
{
q = p->next;
T x = q->data;
p->next = q->next;
delete q;
return x;
}
}
template <class T>
int LinkList<T>::Locate(T x)
{
Node<T> *p = first->next;
int j = 1;
while (p && p->data != x)
{
p = p->next;
j++;
}
if (p)
return j;
else
return 0;
}
template <class T>
void LinkList<T>::PrintList()
{
Node<T> *p;
p = first->next;
while(p)
{
cout << p->data << endl;
p = p->next;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -