E2 (a) E2

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;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值