修改stack实现并添加单元测试