Сортировка на питоне без функций
У меня проблема я хотел сделать сортировку на питоне без функций, но не выводит ответ. Помогите пожалуйста
первый код:
a = [123,26,1,2,23,21,13,55]
swap = 0
i = 0
index= 0
index1 = -1
min = a[i]
for i in range (len(a)):
while True :
if a[index] < min :
swap = min
min = a[index]
a[index1] = min
print('2')
else :
continue
if len(a) == index :
print(a)
break
index = index +1
вот мой 2 код:
a = [123,26,1,2,23,21,13,55]
swap = 0
i = 0
index1 = -1
min = a[i]
for i in range (len(a)):
while True :
if a[i] < min :
swap = min
min = a[i]
a[index1] = min
print('2')
else :
continue
if len(a) == i :
print(a)
break
index1 = index1 +1
Ответы (2 шт):
Автор решения: TigerTV.ru
→ Ссылка
Можно примерно так:
a = [123,26,1,2,23,21,13,55]
for _ in range(len(a)):
for i in range(1, len(a)-j):
if a[i] < a[i-1]:
a[i], a[i-1] = a[i-1], a[i]
print(a)
или с досрочным выходом если за проход не было изменений:
a = [123,26,1,2,23,21,13,55]
for _ in range(len(a)):
c = 1 # флаг
for i in range(1, len(a)-j):
if a[i] < a[i-1]:
a[i], a[i-1] = a[i-1], a[i]
c = 0
if c:
break
print(a)
Автор решения: Dima
→ Ссылка
a = [123,26,1,2,23,21,13,55]
for i in range(len(a)):
for j in range(i + 1, len(a)):
if a[i] > a[j]:
a[i], a[j] = a[j], a[i]
print(a) # [1, 2, 13, 21, 23, 26, 55, 123]