-- Header File Source
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#include
using name space std;
template span>class T>
class LList
{
Private:
class ListNode
{
friend class LList;
T value;
ListNode *nest;
ListNode(T value1, ListNode *next1=NULL)
{
value=value1;
next=next;
}
};
ListNode *head;
public:
LList()
{
head=NULL;
)
~LList();
void appendNode(T);
void insertNode(T);
void deleteNode();
voide displayList();
void MoveNext();
void ShowCurrent();
};
template
voidLList::appendNode(T val)
{
if(head=NULL)
head=new ListNode(val);
else
{
ListNode *nodePtr;
while (nodePtr->next !=NULL)
nodePtr->next=new ListNode(val);
}
}
template
voidLList::displayList()
{
ListNode *nodePtr;
nodePtr =head;
while (nodePtr)
{
cout nodePtr->value endl;
nodePtr =nodePtr->next;
}
}
template
voidLList::ShowCurrent()
{
ListNode *nodePtr;
nodePtr=head;
countnodePtr->value endl;
}
template
voidLList::MoveNext()
{
ListNode *nodePtr;
nodePtr=head;
while (nodePtr)
{
nodePtr = nodePtr->next;
}
}
template
voidLList::insertNode(T val)
{
ListNode *nodePtr, *previousNodePtr;
if(head==NULL || head->value>=val)
{
head=new ListNode(val, head);
}
else
{
previousNodePtr=head;
nodePtr = head->next;
while (nodePtr !=Null&&nodePtr->value
{
previousNodePtr=NodePtr;
nodePtr = nodePtr->next;
previousNodePtr->nest=new ListNode(val, nodePtr);
template
voidLList::deleteNode()
{
ListNode *nodePtr, *previousNodePtr;
if(!head)
return
nodePtr=head;
head=head->next;
deletenodePtr;
}
template
LList::~LList
()
{
ListNode *nodePtr, *nextNodePtr;
nodePtr=head;
while (nodePtr !=NULL)
{
nextNodePte=nodePtr->nest;
delete nodePtr;
nodePtr=nextNodePtr;
}
}
No comments:
Post a Comment
Note: only a member of this blog may post a comment.