I want to search a name in my doubly linkedlist and remove it.
I used strcmp(string1/string2) to see if the data part of the current node is the same as the data im looking for or not.but it didnt work.
what can i do?
class node {
friend class linklist;
char [B]name[10][/B];
node *nxt;
node *prev;
void remove(char [B]nam[][/B]){
node *ptr;
ptr=head;
if(head == NULL){//the list is empty
cout<<"the list is empty"<<endl;
}
else{
while(ptr !=NULL )//till it hasnt got to the end and didnt find the number
{ [B]if(strcmp(ptr ->name/ nam)!=0)[/B] {ptr=ptr ->nxt;}}
if(ptr ==NULL)//it means that the number is not in the list
{cout<<"the name is not in the list to remove."<<endl;}
else if(ptr != NULL)// it means that the number is found
{ if(head == ptr) //if removing head node
{ if(head == tail){//if there is only one node in the list
head=NULL;
delete(ptr);
}
else{ head=head -> nxt;
head -> prev = NULL;
delete(ptr);}
}
else if(tail == ptr)
{ // if removing tail node
tail = tail->prev;
tail->nxt = NULL;
delete(ptr);
}
else {
// if removing in the middle
ptr->prev->nxt = ptr->nxt;
ptr->nxt->prev = ptr->prev;
delete(ptr);
}
}
}
}