Мне требуется некоторая помощь, поскольку всякий раз, когда я вводю отрицательное число, список интерпретирует его как отдельный элемент, поэтому, как только начинается сортировка, все отрицательные символы помещаются в начале. Конечной целью кода является сортировка двух объединенных списков без использования функций сортировки по умолчанию. Также, если есть лучший способ избавиться от пробелов в списке, я был бы признателен, так как на данный момент я должен преобразовать список в строку и заменить / удалить дополнительные элементы, которые вызывают пробелы.
list1 = list(input())
list2 = list(input())
mergelist = list1 + list2
print(mergelist)
def bubble_sort(X):
nums = list(X)
for i in range(len(X)):
for j in range(i+1, len(X)):
if X[j] < X[i]:
X[j], X[i] = X[i], X[j]
return X
mergelist = bubble_sort(mergelist)
strmergelist = str(mergelist)
strmergelist = strmergelist.replace("'", '')
strmergelist = strmergelist.replace(",", '')
strmergelist = strmergelist.strip('[]')
strmergelist = strmergelist.strip()
print(strmergelist)
Вывод для списков без негативов:
1 2 3 4 4 5 5
Однако с негативами становится:
- - - - 1 2 3 3 4 4 5
и моя первая функция печати, которая просто проверяет объединение списков, выглядит так, когда я вводю любые негативы (игнорируйте пробелы, так как я пытаюсь удалить их позже):
['1', ' ', '-', '2', ' ', '3', '3', ' ', '-', '4', ' ', '-', '4', ' ', '-', '5']