Я пытаюсь найти способ сортировки списка с правильной петлей.сортировать список без использования .sort()
меня это до сих пор:
def min_sorted(xs):
Min= xs[0]
minsorted= list()
for x in xs:
if x < (Min):
Min= x
minsorted.append(Min)
remove_val_once(x,xs)
return minsorted
Когда я проверить его с помощью xs=[5,3,4,2,1]
это то, что приходит:
>>> min_sorted([5,3,4,2,1])
[3, 2, 1]
Что происходит с 5 и 4
мой код для minval (xs):
def minval(xs):
min_= xs[0]
for x in xs[1:]:
if x < min_:
min_=x
return min_
мой код remove_val_once:
def remove_val_once(val,xs):
for i in range(len(xs)):
if val==xs[i]:
del(val)
return True
break
if val!=xs[i]:
return False
Что такое определение 'remove_val_once'? – jwodder
Что делает 'remove_val_once()' do? И посмотрите, что произойдет с первым значением для 'Min'; вы никогда ничего не делаете с этим. –
Вы не можете отсортировать массив с одним циклом. Лучшее, что вы можете сделать, это время O (n log n). – wvdz