@SuperDuperPuper

Как исправить мой алгоритм сортировки пузырьком на питоне?

def buble():
    end = -len(array)

    
    while end!=-1: 
        for el in range(-1,end,-1):
            if array[el]<=array[-1+el]:
                mem = array[el]
                array[el] = array[-1+el]
                array[-1+el] = mem


        end=+1
    print("result is ")
    print(array)



array = [6,7,8,9,5,3,2,1,4,0]
buble()"
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@dmitry_talko
Будущий junior python developer
За ноут садиться никак(почти сплю), по этому писал с телефона. Я не мастер объяснять, но постарался описать каждый шаг
def buble(array):
    replaced = True

    for _ in array:
        #Если замен не было - выходим из цикла
        if not replaced: break
        replaced = False
    
        #Проходимся по списку и сравниваем 2 элемента
        for el in range(len(array)-1):

            #Если текущий элемент больше следующего
            if array[el] > array[el+1]:

                #Меняем местами
                array[el], array[el+1] = array[el+1], array[el]
          
                #ставим "флаг" что произошла замена
                replaced = True
    return array

array = [6,7,8,9,5,3,2,1,4,0]
print(buble(array))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы