I am having problems with adding new items into a linked list.

Here is my add function for the linked list:
Code:
void List::addNode(const Product & info)
{
	NodeType* ptr = new NodeType;
	ptr->data = info;
	ptr->next = head;
	head = ptr;
}
When I test the program and enter in the input such as,
10 20 30 40 50
60 70 80 90 100

And then tell it to output the result back to me it will output this answer:
60 70 80 90 100
10 20 30 40 50

Why is it doing this? How do I make it so that it will output the answer exactly in the same order as I entered it into the system?