下决心好好学习数据结构,放上题目大家一起来讨论
E:采用栈的方法,为下面的说明编写一个函数copy_stack:Error_code copy_stack(Stack &dest,Stack &source);
/* Pre:None.
Post:Stack dest become one copy of Stack source and Stack source do not be changed.
If there is something wrong ,an Error_code is returned,else return success.*/
写出三个版本的函数:
1.仅使用一个简单的赋值语句:dest=source;
2.使用Stack方法和一个临时的Stack,从Stack source中抽取元素并将每个元素加入到Stack dest中,并恢复Stack source。
3.为Stack类编写一个友元函数,使用Stack的私有数据成员并且些一个循环将元素从source复制到dest。
这些函数中的哪一个最容易编写?如果栈接近满时,哪一个运行最快?如果接近空时哪一个运行最快?如果实现可被改变,哪一个是最好的方法?哪一个函数可以将source作为一个常量引用传递?