''' exercise heapq ''' import heapq import gen_num num_lst = gen_num.gen_num1(20) # print(num_lst) heapq.heapify(num_lst) result = [heapq.heappop(num_lst) for _ in range(len(num_lst))] print(result)
import gen_num num_lst = gen_num.gen_num1(10) # print(num_lst) def merge_sort(A): ''' Args: A:num_lst ''' length = len(A) if length == 1: return A mid = length // 2 left = merge_sort(A[:mid]) right = merge_sort(A[mid:]) return merge(left, right) def merge(left, right): i, j = 0, 0 result = [] while i < len(left) and j < len(right): #ij[0,n-1] if left[i] < right[j]: result.append(left[i]) i += 1 else: result.append(right[j]) j += 1 result += left[i:] result += right[j:]
import gen_num num_lst = gen_num.gen_num1(30) # print(num_lst) def bubble_sort(A): ''' Args: A;num_lst ''' length = len(A) for i in reversed(range(1, length)): #[n-1,1] for j in range(i): if A[j] > A[j + 1]: A[j], A[j + 1] = A[j + 1], A[j] return A print(bubble_sort(num_lst))
import gen_num lst = gen_num.gen_num1(100) print('lst:', lst) lst2 = gen_num.gen_num2(100) print('lst2:', lst2)