Professional Documents
Culture Documents
struct nodeType
int data;
nodeType *link;
};
if(last!=nullptr)
return last;
newNode->data=value;
last=newNode;
last->link=last;
return last;
if(last==nullptr)
newNode->link=last->link;
last->link=newNode;
last=newNode;
return last;
if(last==nullptr)
newNode->data=value;
newNode->link=last->link;
last->link=newNode;
return last;
if(last==nullptr)
return nullptr;
p=last->link;
do
if(p->data==item)
newNode=new nodeType;
newNode->data=value;
newNode->link=p->link;
p->link=newNode;
if(p==last)
last=newNode;
return last;
p=p->link;
}while(p!=last->link);
return last;
if(*last==nullptr)
return;
if((*last)->data==item && (*last)->link==*last)
delete *last;
*last=nullptr;
return;
temp=*last;
if((*last)->data==item)
while(temp->link!=*last)
temp=temp->link;
temp->link=(*last)->link;
delete *last;
*last=temp->link;
temp=temp->link;
if(temp->link->data==item)
d=temp->link;
temp->link=d->link;
delete d;
}
nodeType *p;
if(last==nullptr)
return;
p=last->link;
do
cout<<p->data<<" ";
p=p->link;
}while(p!=last->link);
cout<<endl;
int main()
bool exitFlag=false;
nodeType *last=nullptr;
do
<<"[7] Exit."<<endl
<<"Option: ";
cin>>option;
switch(option)
case 1:
cin>>value;
last=addFirstNode(last, value);
break;
case 2:
cin>>value;
last=insertForward(last, value);
break;
case 3:
cin>>value;
last=insertBackward(last, value);
break;
case 4:
cin>>value;
cin>>item;
break;
case 5:
cin>>value;
deleteNode(&last, value);
break;
case 6:
displayList(last);
break;
case 7:
cout<<"Exiting programing!"<<endl;
exitFlag=true;
break;
default:
}while(exitFlag!=true);
return 0;