选择排序可视化(动态单行演示)

选择排序可视化(动态单行演示)

选择排序规则说明:

  1. 将数组分为已排序区和未排序区,初始时已排序区为空
  2. 在未排序区中找到最小(或最大)元素
  3. 将该最小元素与未排序区的第一个元素交换位置
  4. 将未排序区的起始位置后移一位(扩大已排序区)
  5. 重复上述步骤,直到所有元素都进入已排序区
  6. 选择排序是不稳定排序算法

准备就绪

当前轮次

历史记录

// 选择排序C++实现
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_idx = i; // 初始化最小元素索引
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j; // 更新最小元素索引
}
}
// 交换找到的最小元素
if (min_idx != i) {
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
}
问题反馈