来自网络,联系侵删
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.sherry.qzz.io/posts/python/1201search/ 部分信息可能已经过时
相关文章 智能推荐
1
【第五周作业-2】算法应用(穷举、递归、贪心)
Python 1、【穷举法】鸡兔同笼 2、【递归法】字符串反转 3、【贪心法】求最大值
2
【第三周作业-1】Python列表
Python 11.17:1、计算标准差 2、计算向量内积 3、查找学生信息。
3
【实践3】算法应用(递归、分治、递推、排序、贪心、随机)
Python 1、【递归法】Fibonacci 数列 2、【分治法】二分查找 3、【递推法】逆推法计算炮弹的储备数 4、【贪心法】背包问题 5、【排序】冒泡排序 6、【随机化算法】求圆周率
4
【课外拓展题】信息编码1-二进制
Python 第1关:前苏联的黑科技 第2关:乘二取整 第3关:二进制到十进制 第4关:二进制到十六进制 第5关:二进制计量单位 第6关:逻辑运算 第7关:二进制加法 第8关:解析IP地址
5
【第四周作业】Python综合练习题
Python 11.25:1、 打印右下三角 2、打印梯形 3、求给定范围内素数的个数 4、计算阶乘累加和。



























