在Swift中实现堆栈-第1部分
学习目标:结构,数组,变异,可选,函数
我们将使用值类型struct创建堆栈。 堆栈将具有两个基本操作-推入和弹出
步骤1:使用将代表堆栈的值类型结构
步骤2:堆栈由Int类型的数组支持
步骤3:在函数中存根。
由于pop函数将返回一个值或为nil,我们需要将返回类型声明为Int的选项类型?
步骤4:推送功能实现
不能使用不可变值的可变成员:’self’是不可变的 。 为什么Swift编译器会抛出此错误,我们如何解决呢?
struct是Swift中的值类型,我们无法通过其实例方法修改值类型的属性。 因此,修改elementsOfStack Array会引发此错误。
在函数签名中使用mutating关键字。 它告诉编译器我们打算在实例方法中修改值类型的属性。
第5步:弹出功能实现
试试这三个练习作为挑战。 该练习的解决方案将在第2部分中。
练习#1添加一个函数以清空整个堆栈
练习2的改进使使用泛型的Int,Double,Float和String数据类型的堆栈
练习3:使用引用类型类通过泛型类型数组返回实现堆栈