#962. 简单选择排序

简单选择排序


📌 题目标题:简单选择排序


📘 题目描述

选择排序是一种基本的排序算法,其基本思想是:

每一趟从未排序的元素中,选出最小的一个元素,放在已排序序列的末尾,直到全部元素排序完成。

其中最简单的形式为 ​简单选择排序​,每次在剩余元素中选择最小值并与当前位置交换。

请实现该算法,将输入的一组整数按从小到大排序后输出。


🔢 输入格式

  • 第一行包含一个整数 n,表示需要排序的元素个数,满足: 1≤n≤10001 \leq n \leq 1000
  • 第二行包含 n 个正整数,表示需要排序的元素,用空格隔开。

📤 输出格式

  • 输出排序后的 n 个整数,升序排列,每个整数后​跟一个空格​;
  • 行末输出换行。

📥 输入样例

10
2 8 4 6 1 10 7 3 5 9

📤 输出样例

1 2 3 4 5 6 7 8 9 10

⏱ 时间与空间限制

  • 时间限制:1 秒
  • 空间限制:1024 KiB
  • 使用 O(n²) 的简单选择排序是可接受的


💡 补充说明(选择排序特点)

特性 说明
时间复杂度 O(n2)O(n^2) 无论初始顺序如何
空间复杂度 O(1)O(1),就地交换
稳定性 ❌ 不稳定(相等时可能交换)
教学适用性 ✅ 好理解,适合入门训练