选择排序是一种简单直观的排序算法。它的基本思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 以下是用Python实现选择排序的代码: ```python def selection_sort(arr): n = len(arr) for i in range(n): # 假设当前i位置的元素是最小的 min_index = i for j in range(i + 1, n): if arr[j] < arr[min_index]: min_index = j # 交换找到的最小元素和当前i位置的元素 arr[i], arr[min_index] = arr[min_index], arr[i] return arr def main(): # 输入正整数个数 n = int(input("请输入正整数的个数 (0 < n < 9): ")) if not (0 < n < 9): print("输入的数字不符合要求") return # 输入正整数列表 arr = [] for _ in range(n): num = int(input("请输入一个正整数: ")) if num <= 0: print("输入的不是正整数") return arr.append(num) # 进行选择排序 sorted_arr = selection_sort(arr) # 输出排序结果 print("排序后的结果是:", sorted_arr) if __name__ == "__main__": main() ``` ### 代码说明: 1. **`selection_sort`函数**:实现了选择排序算法。通过两层循环,外层循环遍历数组的每一个元素,内层循环找到未排序部分的最小值,并将其与当前元素交换。 2. **`main`函数**:负责处理用户输入,包括正整数的个数和具体的正整数,并调用`selection_sort`函数进行排序,最后输出排序结果。 3. **输入验证**:确保输入的正整数个数在0到9之间,并且每个输入的数都是正整数。 运行这个程序时,用户会被提示输入正整数的个数和具体的正整数,然后程序会输出排序后的结果。 [2024-11-29 17:46:48 | 酷代码 | 523字解答]