I’m trying to implement Selection Sort Algorithm in Python and for some reason Sorted Array is returned as

`None`

. Here’s the Code:

#Selection Sort def selection_sort(array): for i in range(len(array)): min_idx = i for j in range(i+1,len(array)): if array[j]<array[min_idx]: min_idx = j array[i],array[min_idx] = array[min_idx],array[i] array = [1,7,5,3,9] print(f"Original Array: {array}") x=selection_sort(array) print(f"Sorted Array: {x}")

Output:

Original Array: [1, 7, 5, 3, 9] Sorted Array: None

## Advertisement

## Answer

Here is wat u can do:

U have passed a list of values which is passed as reference to the function. so u can get expect the result i.e. the sorted array in the list u passed –> array. so u can do something like this

print(f"Sorted Array: {array}")

if u want to keep the original list intact , pass a copy to the function like below:

x=selection_sort(array[:])

and return value from your function by adding the the line at the end as below:

return array

and print as u did in your code