forked from TheAlgorithms/Python
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathselection_sort.py
More file actions
Latest commit
34 lines (27 loc) · 986 Bytes
/
Copy pathselection_sort.py
File metadata and controls
34 lines (27 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
defselection_sort(collection: list[int]) ->list[int]:
"""
Sorts a list in ascending order using the selection sort algorithm.
:param collection: A list of integers to be sorted.
:return: The sorted list.
Examples:
>>> selection_sort([0, 5, 3, 2, 2])
[0, 2, 2, 3, 5]
>>> selection_sort([])
[]
>>> selection_sort([-2, -5, -45])
[-45, -5, -2]
"""
length=len(collection)
foriinrange(length-1):
min_index=i
forkinrange(i+1, length):
ifcollection[k] <collection[min_index]:
min_index=k
ifmin_index!=i:
collection[i], collection[min_index] =collection[min_index], collection[i]
returncollection
if__name__=="__main__":
user_input=input("Enter numbers separated by a comma:\n").strip()
unsorted= [int(item) foriteminuser_input.split(",")]
sorted_list=selection_sort(unsorted)
print("Sorted List:", sorted_list)