ok thanks,
now i make 'head3' to global...
Code:
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
struct NodeType
{
char letter;
NodeType* link;
};
char DelBeginning(NodeType&);
void insertFront(NodeType&, char);
NodeType* head3;
int main()
{
NodeType* head1, *current1, *newptr1, *head2, *current2, *newptr2;
ifstream myFile;
int count=0;
char value, letter;
myFile.open("ulist.txt");
if (myFile.fail())
{
cout<<"Cannot open file";
exit(-1);
}
head1 = new NodeType;
myFile>>head1->letter;
head2 = new NodeType;
head2->letter=head1->letter;
myFile>>value;
current1=head1;
current2=head2;
while (!myFile.eof())
{
newptr1=new NodeType;
newptr1->letter=value;
newptr2=new NodeType;
newptr2->letter=newptr1->letter;
current1->link=newptr1;
current1=newptr1;
current2->link=newptr2;
current2=newptr2;
myFile>>value;
count++;
}
count++;
current1->link=NULL;
current2->link=NULL;
for (int i=0; i<count; i++)
{
letter=DelBeginning(head2);
insertFront(head2,letter);
}
myFile.close();
return 0;
}
char DelBeginning(NodeType& head) //Remove an item from the front(List 2) and returns it to the main function
{
char value;
value=head->letter;
NodeType* current=head->link;
delete head;
head=current;
return (value);
}
void insertFront(NodeType& head, char letter) //Inserts the item at the front of list3
{
NodeType* newptr;
newptr=new NodeType;
newptr->item=value;
if (head==NULL) //make the node point to nothing
{
newptr->link=NULL;
head3=newptr;
}
else //This part make the node in the front
{
newptr->link=head3;
head3=newptr;
}
}
but i think i have logical error in this part:
Code:
if (head==NULL)
{
newptr->link=NULL;
head3=newptr;
}
else
{
newptr->link=head3;
head3=newptr;
}
I think i will got a NULL in the beginning instead at the end.