问题 A: 数列排序
"
时间限制 1 秒/Second(s) 内存限制 128 兆字节/Megabyte(s)
提交总数 607 正确数量 363
裁判形式 标准裁判/Standard Judge 我的状态 已解决
难度 分类标签
题目描述
快速排序排序的划分模拟:将一正整数序列{K1,K2,...,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。
输入
输入有多行,第一行为N表示行数,每行9个整数.
输出
输出N行(不超过100行),按要求进行排序的结果.
样例输入复制
2
6 8 9 1 2 5 4 7 3
3 5 8 9 1 2 6 4 7
样例输出复制
3 4 5 2 1 6 8 9 7
2 1 3 5 8 9 6 4 7
#include <bits/stdc++.h>
using namespace std ;
void fun(int a[10]){
//记录小于 大于 第一个数的数组 和下标
int min[10] ,max[10] , x = 0 , y = 0 ;
for(int i = 1 ; i < 9 ;i++){
if(a[i]>a[0]){
//记录大于第一个数字的数 注意下标编号++
max[x++] = a[i];
}else{
//记录小于第一个数字的数 注意下标编号++
min[y++] = a[i];
}
}
//由于用例中小于第一个数的输出顺序是倒序 ,因此后向前输出 注意空格
for(int