swift调用python-swift、python语法实现Queue、Stack

基于学习和巩固swift、python语法的想法,同时也加强基础算法的总结,再则把学习的做一个笔记。以上三个理由写一写...

Queue和Stack都是基于数组的基础上实现最基本功能,只是一个最基础思路。

Queue swift:

public class Queue{

var queueArr : [Any] = []var count : Int{

return queueArr.count

}

func enqueue(_ someOne:Any) {

queueArr.append(someOne)

}

func dequeue() -> (Any?) {

if self.isEmpty(){

return nil

}

return queueArr.removeFirst()

}

func isEmpty() -> Bool {

return queueArr.isEmpty

}

}

Queue python:

class Queue(object):

def __init__(self,maxSize):

self.maxSize=maxSize

self.queueArr=[]def

enQueue(self,some):

self.queueArr.append(some)

def deQueue(self) :

if self.isEmpty() :

return -1

firstElement = self.queueArr[0]

self.queueArr.remove(firstElement)

return firstElement

def isEmpty(self):

if len(self.queueArr) == 0:

return Truereturn False

def __str__():

return str(self.queueArr)

栈是一种 LIFO(Last In First Out) 的数据结构,常用方法有添加元素,取栈顶元素,弹出栈顶元素,判断栈是否为空。swift没有提供栈的基础结构,但是python中collections是提供了的。

Stack swift:

public class Stack{

var stackArr : [Any] = []

var count : Int{

return stackArr.count

}

func push(_ someOne:Any) {

stackArr.append(someOne)

}

func pop() -> (Any?) {

if self.isEmpty(){

return nil

}

return stackArr.removeLast()

}

func isEmpty() -> Bool {

return stackArr.isEmpty

}

}

Stack python:

class Stack(object):

def __init__(self, maxSize):

self.maxSize=maxSize

self.stackArr=[]

def push(self,some):

if self.size() < self.maxSize:

self.stackArr.append(some)

return -1

def pop(self):

if self.isEmpty():

return None

lastItem=self.stackArr[self.size() - 1]

self.stackArr.remove(lastItem)

return lastItem

def size(self):

return len(self.stackArr)

def isEmpty(self):

if self.size == 0:

return True

return False

python提供

>>> import collections

>>> stack=collections.deque()

>>> stack.append("sss")

>>> len(stack)

1

>>> len(stack)

1

>>> stack.pop()

"sss"

>>> len(stack)

0

>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值