1. Главная
  2. Библиотека
  3. Программирование
  4. Какая из приведенных функций выполнит сортировку пузырьком по убыванию? 1) ```python def F2(a): n = len(a) for i...

Какая из приведенных функций выполнит сортировку пузырьком по убыванию? 1) ```python def F2(a): n = len(a) for i in range(n): min_idx = i for j in range(i + 1, len(a)): if a[j] < a[min_idx]: min_idx =

«Какая из приведенных функций выполнит сортировку пузырьком по убыванию? 1) ```python def F2(a): n = len(a) for i in range(n): min_idx = i for j in range(i + 1, len(a)): if a[j] < a[min_idx]: min_idx =»
  • Программирование

Условие:

Какая из приведенных функций выполнит сортировку пузырьком по убыванию?

1)

def F2(a):

⠀⠀n = len(a)

⠀⠀for i in range(n):

⠀⠀⠀⠀min_idx = i

⠀⠀⠀⠀for j in range(i + 1, len(a)):

⠀⠀⠀⠀⠀⠀if a[j] < a[min_idx]:

⠀⠀⠀⠀⠀⠀⠀⠀min_idx = j

⠀⠀return a

3)

def F1(a):

⠀⠀n = len(a)

⠀⠀for i in range(n):

⠀⠀⠀for j in range(0, n – i – 1):

⠀⠀⠀⠀⠀⠀if a[j] > a[j + 1]:

⠀⠀⠀⠀⠀⠀⠀⠀a[j], a[j + 1] = a[j + 1], a[j]

⠀⠀return a

2)

def F1(a):

⠀⠀n = len(a)

⠀⠀for i in range(n):

⠀⠀⠀for j in range(0, n – i – 1):

⠀⠀⠀⠀⠀⠀if a[j] < a[j + 1]:

⠀⠀⠀⠀⠀⠀⠀⠀a[j], a[j + 1] = a[j + 1], a[j]

⠀⠀return a

4)

def F2(a):

⠀⠀n = len(a)

⠀⠀for i in range(n):

⠀⠀⠀⠀min_idx = i

⠀⠀⠀⠀for j in range(i + 1, len(a)):

⠀⠀⠀⠀⠀⠀if a[j] > a[min_idx]:

⠀⠀⠀⠀⠀⠀⠀⠀min_idx = j

⠀⠀return a

Решение:

Мы должны найти функцию, которая реализует сортировку пузырьком по убыванию, то есть функция, которая сравнивает соседние элементы и меняет их местами, если порядок нарушен (при убывании – если предыдущий элемент меньше следующего). Рассмотрим по порядку код каждой функции: 1) Функция F2:   def F2(a):    n = len(a)    for i in range(n):     min_idx = i     for j in range(i + 1, len(a)):      if a[j] a[min_idx]:       min_idx = j    return a Здесь используется поиск минимума (типичный для сортировки выбором), а не сравнение соседних элементов с последующим обменом. Поэтому эт...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет