所在的位置: swift >> swift发展 >> Swift实现一个队列

Swift实现一个队列

大家好,我是天天当咸鱼的阿Sam哥。最近阿Sam哥在LeeCode做题,其中有道题(剑指Offer32-I.从上到下打印二叉树)的解法需要用到队列,但是Swift标准库里没有队列的实现,需要自己来实现。而之前做题的时候,就做过一道题(.用栈实现队列),是通过两个栈来实现队列,只需要改造一下,应该能满足要求。

//MARK:-队列简单实现structQueueElement{privatevarinStack:[Element]=[Element]()privatevaroutStack:[Element]=[Element]()mutatingfuncpush(_element:Element){inStack.append(element)}mutatingfuncpop()-Element{ifoutStack.isEmpty{while!inStack.isEmpty{outStack.append(inStack.popLast()!)}}returnoutStack.popLast()!}mutatingfuncpeek()-Element{ifoutStack.isEmpty{while!inStack.isEmpty{outStack.append(inStack.popLast()!)}}returnoutStack.last!}funcisEmpty()-Bool{returninStack.isEmptyoutStack.isEmpty}funcsize()-Int{returninStack.count}}

在「.用栈实现队列」里只需要处理Int类型,而上面的改造可以让这个队列的实现支持任意值类型了

预览时标签不可点收录于合集#个上一篇下一篇

转载请注明:http://www.aierlanlan.com/tzrz/3.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了