原题链接:<a target=_blank href="http://acm.hdu.edu.cn/showproblem.php?pid=2019">点击打开链接</a>
分析:排序类题目,鉴于数据量很小,不需要用快速排序了。
#include <stdio.h>
#include <string.h>
int
main(int argc, char **argv) {
int n, m, i, pos;
int num[105];
while (scanf("%d%d", &n, &m) == 2 && (n != 0 || m != 0)) {
for (i = 0; i < n; ++ i) {
scanf("%d", &num[i]);
}
for (i = n - 1; i >= 0; --i) {
if (num[i] <= m) {
pos = i;
break;
}
}
for (i = n - 1; i >= pos + 1; -- i) num[i + 1] = num[i];
num[pos+1] = m;
for (i = 0; i < n; ++ i) printf("%d ", num[i]);
printf("%d\n", num[n]);
}
return 0;
}
HDU2019 数列有序!
最新推荐文章于 2019-12-21 19:18:43 发布