1.普通队列
class myQuene(object):
def __init__(self,list=1):
self.__list = list
def size(self):
return len(self.__list)
def delete(self):
if self.size()==0:
print("空队列,不能删除")
else:
temp_delete = self.__list[0]
del self.__list[0] #删除头元素
return temp_delete
def insert(self,data): #追加
self.__list.append(data)
def peek(self):
if self.size()==0:
print("空队列不能删除")
else:
return self.__list[0]
2.优先级队列
class myQuene(object):
def __init__(self,list=1):
self.__list = list
def size(self):
return len(self.__list)
def delete(self):
if self.size()==0:
print("空队列,不能删除")
else:
temp_delete = self.__list[0]
del self.__list[0] #删除头元素
return temp_delete
def insert(self,data): #追加
if self.size()==0:
self.__list.append(data) #若队列为空将数据直接插入
else:
temp = -1
for i in range(len(self.__list)):
if self.__list[i] > data:
temp = i
break
if temp==-1:
self.__list.append(data) # 若队列为空将数据直接插入
else:
self.__list.insert(temp.data)
def peek(self):
if self.size()==0:
print("空队列不能删除")
else:
retu rn self.__list[0]
q = myQuene()
q.insert(1)
q.insert(2)
q.insert(4)
q.insert(3)
'''
'''
class xunhuan():
def __init__(self,list=[],first=None,last=None):
self.__list =list
self.__first = first
self.__last = last
def size(self):
length = 0
if self.__last>self.__first:
length = self.__last-self.__first+1
elif self.__last==self.__first and self.__last != None:
length = 1
elif self.__last==self.__first and self.__last == None:
length = 0
else:
length = len(self.__list)-(self.__first-self.__last-1)
return length
def insert(self,data):
if self.size()==0:
self.__list.append(data)
self.__first = 0
self.__last = 0
else:
if self.size()==len(self.__list):
self.insert(self.__last+1,data)
self.__last = self.__last+1
else:
if self.__last+1==len(self.__list):
self.__list[0] = data
self.__last = 0
else:
self.__list[self.__last+1]=data
self.__last = self.__last+1
def delete(self):
if self.size()==0:
print("空队列,无法删除")
elif self.size()==1:
temp = self.list[self.__first]
self.__first = None
self.__last = None
return temp
else:
temp = self.__list[self.__first]
if self.__first+1==len(self.__list):
self.__first = 0
else:
self.__first = self.__first+1
return temp
def peek(self):
if self.size()==0:
print("控队列")
else:
return self.__list