Consider a linked stack that includes a methods size.This method size requires a loop that moves through the entire stack to count the entries ,since the number of entries in the stack is not kept as a separate member in the stack record.
(a)Write a method size for a linked stack by using a loop that moves a pointer variable from node to node through the stack .
int stack::size()const
Node*p=top_node;
int count=0;
while(p!=Null)
{p=p->next;
count++;
}
return count;
E2What is wrong with the flowing attempt to use the copy constructor to implement the overloaded assignment operator for a linked Stack?
void Stack::operator =(const Stack&original)
{
stack new_copy(original);
top node=new_copy.top_node;
}
How can we modify this code to give a correct
The right answer is:
void Stack::operator =(const Stack&original)
{
stack new_copy(original);
Node*temp=top_node;
top node=new_copy.top_node;
new_copy.top_node=temp;
}