1、排队
(team.cpp/c/in/out)
【描述】
有 n 个小朋友要从低到高排队,现在老师已经排好了前面一部分,接下来要从第 x 个到第 y 个排队,请你找出这一段中最矮的学生,放到第 x 位上。
【输入格式】
第一行,一个整数 n。1<=n<=100。
第二行,n 个整数,每个整数范围[90,140]。
第三行,两个整数,x 和 y。1<=x<y<=n。
【输出格式】
一行,n 个整数,空格分开,表示交换后的 a 数组。
【输入/输出样例】
输入:
11
85 90 92 120 111 96 103 108 109 125 95
4 11
输出:
85 90 92 95 111 96 103 108 109 125 120
【样例解释】
找出第 4 个数至第 11 个数的最小值,然后交换到第 4 个位置。
2、多轮选择最小值
(min.c/cpp/in/out)
【描述】
有 n 个数保存在数组 a[1…n]。现在进行 n-1 轮选择和交换。对第 i 轮的步骤分成两步:
第一步:不妨假设 a[i]至 a[n]的最小值是 a[minIndex],即第 minIndex 个数是第 i 至第 n 个数当中最小的。如果有多个最小值,例如,a[j]和 a[k]都是最小值,但是 j<k,那么 minIndex 替换为 k。
第二步:交换 a[i]和 a[minIndex]。容易看出,第 1 轮就是把 a[1]至 a[n]当中最小的数交换到 a[1]。第 2 轮就是
把 a[2]至 a[n]当中最小的数交换到 a[2],……,第 n-1 轮就是把 a[n-1]至 a[n]当中最小的数交换到 a[n-1]。经过 n-1 轮选择交换后,a 数组已经是从小都大排好顺序了。你的任务是每一轮操作后,你都要输出 a 数组。
【输入格式】
第一行,一个整数 n。1<=n<=100。
【输出格式】
共 n-1 行,每行 n 个整数,表示每次操作后的 a 数组。
【输入/输出例子 1】
输入:
7
6 5 3 9 3 6 8
输出:
3 5 3 9 6 6 8
3 3 5 9 6 6 8
3 3 5 9 6 6 8
3 3 5 6 6 9 8
3 3 5 6 6 9 8
3 3 5 6 6 8 9
【样例解释】
无
-
扫码下载安卓APP
-
微信扫一扫关注我们
微信扫一扫打开小程序
手Q扫一扫打开小程序
-
返回顶部
友情链接:
6547题库网 |
Scratch从入门到精通|
Copyright © 小码农 |
2020-2022
发表评论