mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
47 字
1 分钟
【第五周作业-1】查找与排序
2025-12-01

第一关:顺序查找算法代码#

def search(key,a): #如果查找失败返回-1,否则,返回所在位置。
for i in range(len(a)):
if a[i] == key:
return i
return -1
def main():
a = [12,21,24,28,30,42,77,80,94,98]
k = int(input("请输入:"))
pos = search(k,a)
if pos == -1:
print("不存在!")
else:
print("下标为:",pos)
main()

第二关:折半查找算法代码#

def binarySearch(key,a):
low = 0
high = len(a)-1
while low <= high:
mid = (low+high)//2
if key > a[mid]:
low = mid+1
elif key < a[mid]:
high = mid - 1
else:
return mid
return -1
def main():
a = [12,21,24,28,30,42,77,80,94,98]
k = int(input("请输入:"))
pos = binarySearch(k,a)
if pos == -1:
print("不存在!")
else:
print("下标为:",pos)
main()

第三关:冒泡法算法代码#

def BubbleSort(num): # (从小到大)
n = len(num)
for i in range(0, n-1):
for j in range(0, n-i-1): #从0到n-2.
if num[j+1] <= num[j]:
num[j], num[j+1] = num[j+1], num[j]
return num
def main():
a = [24,12,28,80,30,42,77,94,21,98]#输入
BubbleSort(a)
print(a)
main()

第四关:选择排序算法代码#

def selection_sort(arr):
n = len(arr)-1
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
print(arr)
a = [2, 3, 5, 6, 1, -1, 7, 9]
selection_sort(a)
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

【第五周作业-1】查找与排序
https://blog.sherry.qzz.io/posts/python/1201search/
作者
Sherry
发布于
2025-12-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录