Answer:
Here's a program that implements the requested selection sort in descending order with the specified guidelines:
def selection_sort_descending(numbers):
# Iterate through the list
for i in range(len(numbers) - 1):
max_index = i
# Find the index of the maximum element in the remaining unsorted part of the list
for j in range(i + 1, len(numbers)):
if numbers[j] > numbers[max_index]:
max_index = j
# Swap the maximum element with the current element
numbers[i], numbers[max_index] = numbers[max_index], numbers[i]
# Print the list after each iteration
print(numbers)
# Example usage
input_list = [20, 10, 30, 40]
selection_sort_descending(input_list)
# Another example usage
input_list2 = [7, 8, 3]
selection_sort_descending(input_list2)
Step-by-step explanation:
This program takes a list of integers and sorts it in descending order using the selection sort algorithm. It also outputs the list after each iteration of the outer loop, as requested.