📄 onelink2.h
字号:
#include <iostream.h>
#include "OnelinkNode2.h" //单链表结点类,模板
template <class T>
class Onelink2 //单链表类,模板
{
public:
OnelinkNode2<T> *head; //单链表的头指针
Onelink2(int n=0); //构造函数,以n个自然数建立单链表
~Onelink2(); //析构函数
friend ostream& operator<<(ostream& out,Onelink2<T> &h1);
//输出单链表中各数据元素值,输出流运算符重载
};
template <class T>
Onelink2<T>::Onelink2(int n) //构造函数,以n个自然数建立单链表
{ //算法同Onelink
head=NULL; //n=0时,构造空链表
if(n>0) //构造非空链表
{
int i=1;
OnelinkNode2<T> *rear,*q;
head=new OnelinkNode2<T>(i);
i++;
rear=head;
while(i<=n)
{
q=new OnelinkNode2<T>(i);
i++;
rear->next=q; //q结点链入rear结点之后
rear=q; //rear指向新的链尾结点
}
}
}
template <class T>
Onelink2<T>::~Onelink2() //析构函数,算法同Onelink
{
OnelinkNode2<T> *p=head,*q;
while(p!=NULL)
{
q=p;
p=p->next; //到达p的后继结点
delete q; //释放q结点所占用的存储单元
}
head=NULL; //单链表为空
}
template <class T>
ostream& operator<<(ostream& out,Onelink2<T> &h1) //输出流运算符重载
{
cout<<"单链表: ";
h1.head->output(h1.head); //输出以head为头指针的单链表
return out;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -