从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。 153511583598984ab75e4cd.gif 输入格式: 输入在第1行中给出N(1<N≤100),在第2

动态 未结 0 138
小小草
小小草 LV1 2023年9月23日 23:40 发表
#include using namespace std; int main() { int n, a[101]; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数 int minIndex = i; // 记录最小值下标 for (int j = i + 1; j < n; j++) { // 内层循环找到最小值下标 if (a[j] < a[minIndex]) minIndex = j; } swap(a[i], a[minIndex]); // 将最小值交换到前面 for (int j = 0; j < n; j++) cout << a[j] << " "; // 输出每一轮排序后的结果 cout << endl; } return 0; }
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复