# 搜索最小值 def index_of_minimum(lyst): """Returns the index of the minimum item.""" min_index = 0 current_index = 0 while current_index < len(lyst): if lyst[min_index] > lyst[current_index]: min_index = current_index current_index += 1 return min_index
# 二叉搜索 def binary_search(target, sortedLyst): left = 0 right = len(sortedLyst) -1 while left < right: mid_point = (left + right) // 2 if target == sortedLyst[mid_point]: return target elif target <= sortedLyst[mid_point]: right = mid_point - 1 else: left = mid_point + 1 return -1
def swap(lyst, i, j): temp = lyst[i] lyst[i] = lyst[j] lyst[j] = temp # 选择排序 def selection_sort(lyst): i = 0 while i < len(lyst) - 1: min_index = i j = i + 1 while j < len(lyst): if lyst[j] < lyst[min_index]: min_index = j j += 1 if min_index != i: swap(lyst, min_index, i) i += 1 # 冒泡排序 def bubble_sort(lyst): n = len(lyst) while n > 1: i = 1 while i < n: if lyst[i] < lyst[i-1]: swap(lyst, i, i-1) i += 1 n -= 1 # 插入排序 def insertion_sort(lyst): i = 1 while i < len(lyst): item_to_insert = lyst[i] j = i -1 while j >= 0: if item_to_insert < lyst[j]: lyst[j+1] = lyst[j] j -= 1 else: break lyst[j+1] = item_to_insert i += 1