number 1:
def Quick_Sort(numbers, left, right): if left >= right: return numbers baseNumber = numbers[left] i = left j = right while i != j: while j > i and numbers[j] >= baseNumber: j -= 1 if j > i: numbers[i], numbers[j] = numbers[j], numbers[i] while i < j and numbers[i] <= baseNumber: i += 1 if j > i: numbers[i], numbers[j] = numbers[j], numbers[i] Quick_Sort(numbers, left, i - 1) Quick_Sort(numbers, i + 1, right) nums = list(map(int, input().split())) Quick_Sort(nums, 0, len(nums) - 1) print(nums)
number 2:
n = int(input()) nums = list(map(int, input().split())) def quick_sort(nums): if len(nums) <= 1: return nums mid = nums[len(nums) // 2] left = [x for x in nums if x < mid] right = [x for x in nums if x > mid] return quick_sort(left) + [mid] + quick_sort(right) if __name__ == "__main__": nums = quick_sort(nums) print(" ".join(list(map(str, nums))))