C++ 用模版建立一个链表

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(int i = 0; i < 10; i++)
iList1.insTail(i);
cout << iList1 << endl;
LinkedList<int> iList2 = iList1;
cout << iList2 << endl;
return 0;
}
{
_head = _tail = p;
}
else
{
p->Next = _head;
Baidu Nhomakorabea_head = p;
}
}
T delHead()//头删
{
if(isEmpty())
{
cout << "empty!" << endl;
return T();
}
ListNode<T>* del = _head;
T result = del->Data;
if(isEmpty())
{
_head = _tail = p;
}
else
{
_tail->Next = p;
_tail = p;
}
}
void insHead(const T& elem)//头插
{
ListNode<T> *p = new ListNode<T>(elem);
if(isEmpty())
:Data(data),Next(next)
{
}
};
template<class T>
class LinkedList
{
private:
ListNode<T> *_head, *_tail;
public:
LinkedList()
{
_head = _tail = NULL;
}
LinkedList(const LinkedList& rhs)//深拷贝
_head = del->Next;
delete del;
return result;
}
friend ostream& operator << (ostream& outs, const LinkedList<T>& rhs)
{
ListNode<T>* p = rhs._head;
while(p!=NULL)
{
outs << p->Data << " ";
p = p->Next;
}
return outs;
}
private:
bool isEmpty() const
{
return _head == NULL ? true : false;
}
};
int main()
{
LinkedList<int> iList1;
{
_head = _tail = NULL;
ListNode<T> *p = rhs._head;
while(p != NULL)
{
insTail(p->Data);
p = p->Next;
}
}
void insTail(const T& elem)//尾差
{
ListNode<T> *p = new ListNode<T>(elem);
c++用模板构造链表实例
#include <iostream>
#include <string>
using namespace std;
template<class T>
struct ListNode
{
T Data;
ListNode *Next;
ListNode(const T& data, ListNode* next = NULL)
相关文档
最新文档