概述
栈
#栈 先进后出
class Stack():
def __init__(self): #初始化一个空列表(就是一个栈)
self.list = []
def is_empty(self): #判断栈是否为空
return self.list == []
def push(self, data): #在栈顶添加元素"""
self.list.append(data)
def pop(self): #弹出顶部元素"""
return self.list.pop()
def peek(self): #返回栈顶元素"""
# 先判断是否为空
if self.is_empty():
return
else:
return self.list[-1]
def size(self): #判断长度"""
return len(self.list)
def travel(self): #遍历所有元素"""
if self.list != []:
for i in self.list:
print(i)
else:
print([])
冒泡排序
#冒泡排序
def bubbleSort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
for j in range(0, n - i - 1): #n-i-1 因为前面已经交换一次了 所以前面那个不用再交换了
if arr[j] > arr[j + 1]: #如果左面的比右面的大 就换位置
arr[j], arr[j + 1] = arr[j + 1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print("排序后的数组:")
print(arr)
队列
class Queue:
def __init__(self):
self.list = []
def enqueue(self, data):
"""往队列头中添加一个新元素"""
self.list.insert(0, data)
def travel(self):
"""遍历所有元素"""
if list != []:
for i in self.list:
print(i)
else:
print('没了')
def dequeue(self):
"""从队列尾删除一个元素"""
self.list.pop()
def is_empty(self):
"""判断队列是否为空"""
return self.list == []
def size(self):
"""返回队列的元素个数"""
return len(self.list)
选择排序
#选择排序
def select_sort(alist):
n = len(alist)
# 需要进行n-1次选择操作
for i in range(n - 1):
# 记录最小位置
min_index = i
# 从i+1位置到末尾选择出最小数据
for j in range(i + 1, n):
if alist[j] < alist[min_index]:
min_index = j
# 如果选择出的数据不在正确位置,进行交换
if min_index != i:
alist[i], alist[min_index] = alist[min_index], alist[i]
alist = [54, 226, 93, 17, 77, 31, 44, 55, 20]
select_sort(alist)
print(alist)
二分查找
#二分法 折半查找 必要条件,有序列表
lst = [37,99,73,48,47,40,40,25,99,51]
def search(li, item):
#中间点
mid = len(li) // 2
#如果中间点是我们想查找的数据,返回Ture
if item == li[mid]:
return True
#在我们想要查找的数据大于中间点的时候
elif item > li[mid]:
#我们去中间点的右面看看 区间就是 中间点右面第一个数据到我们要查找的数据
return search(li[mid + 1:], item)
else:
#如果我们查的数据小于中间点的数据,那我们就去左面看看
return search(li[:mid], item)
print(search(sorted(lst),37))
最后
以上就是魔幻豌豆为你收集整理的2020.10.28/栈,队列,冒泡排序,选择排序,二分查找的全部内容,希望文章能够帮你解决2020.10.28/栈,队列,冒泡排序,选择排序,二分查找所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复