来自网络,联系侵删
47 字
1 分钟
【第五周作业-1】查找与排序
第一关:顺序查找算法代码
def search(key,a): #如果查找失败返回-1,否则,返回所在位置。 for i in range(len(a)): if a[i] == key: return i return -1def 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 -1def 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.radarweb.top/posts/python/1201search/ 部分信息可能已经过时
相关文章 智能推荐












