Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sort_min(list): #Сортировка методом минимумов
- a=0
- for i in range(len(list)):
- lowest = i
- for j in range(i + 1, len(list)):
- if list[j] < list[lowest]:
- lowest = j
- list[i], list[lowest] = list[lowest], list[i]
- a+=1
- return(list,a)
- def sort_max(list): #Сортировка методом минимумов
- a=0
- for i in range(len(list)):
- biggest = i
- for j in range(i + 1, len(list)):
- if list[j] > list[biggest]:
- biggest = j
- a+=1
- list[i], list[biggest] = list[biggest], list[i]
- return(list,a)
- def puzirek(list): #Сортировка пузырьком
- a=0
- for i in range(len(list)-1):
- for j in range(len(list)-i-1):
- if list[j] > list[j+1]:
- list[j], list[j+1] = list[j+1], list[j]
- a+=1
- return(list,a)
- def vstavka(list): #Сортировка методов вставок
- a=0
- for i in range(len(list)):
- j = i-1
- key = list[i]
- while list[j] > key and j >= 0:
- list[j+1] = list[j]
- j -= 1
- a += 1
- list[j+1] = key
- return(list,a)
- def swap(list): #функция reverse, но ручками(
- n=1
- m=len(list)//2
- for i in range(m):
- list[i],list[i-n]=list[i-n],list[i]
- n+=2
- return(list)
- list = []
- print("Сколько будет элементов в списке?") #Число элементов списка
- n=int(input())
- for i in range(n): #Заполнение списка
- print("Введите новый элемент списка")
- list.append(int(input()))
- print("Все возможные сортировки на выбор.Чтобы выбрать нужную, введите ее номер:\n1.Метод минимумов\n2.Метод максимумов\n3.Метод пузырком\n4.Метод вставок")
- while True: #Проверка на ввод верного числа
- try:
- metod = int(input('Введите число от 1 до 4: '))
- if metod == 1 or metod == 2 or metod == 3 or metod == 4:
- break
- else:
- print('Неверное число')
- except :
- print("Ошибка - это не число");
- print("Ваш начальный список",list)
- if metod==1:
- list_sort,a_sort=sort_min(list)
- print("Ваш отсортированный список",list_sort,"\nКоличество перестановок",a_sort)
- elif metod==2:
- list_sort,a_sort=sort_max(list)
- print("Ваш отсортированный список",swap(list_sort),"\nКоличество перестановок",a_sort)
- elif metod==3:
- list_sort,a_sort=puzirek(list)
- print("Ваш отсортированный список",list_sort,"\nКоличество перестановок",a_sort)
- else:
- list_sort,a_sort=vstavka(list)
- print("Ваш отсортированный список",list_sort,"\nКоличество перестановок",a_sort)
Add Comment
Please, Sign In to add comment