数列排序

该博客介绍了如何模拟快速排序算法对一个包含9个正整数的序列进行划分操作,确保序列中所有小于第一个数K1的元素都位于K1之前,大于K1的在后。题目给出了输入输出样例,包括多个测试用例,每个用例包含9个整数,要求按照快速排序的划分原则重新排列这些整数。
摘要由CSDN通过智能技术生成

问题 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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值