4936: 特殊排序
用这题来写写快排~
4936: 特殊排序
Time Limit: 1 Sec Memory Limit: 32 MB
[Submit][Status][Web Board]
Description
输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。
Input
输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。
接下来的一行有N个整数。
Output
可能有多组测试数据,对于每组数据,
第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。
第二行将排序的结果输出。
Sample Input
5
5 3 2 4 1
Sample Output
5
1 2 3 4
HINT
如果数组中只有一个数,当第一行将其输出后,第二行请输出"-1"。
代码~://完全可以直接用stl的sort,但是我想自己写一下快排
#include <stdio.h>
int a[1005],N;
void quick_sort(int left,int right)
{int temp = a[left];int i = left,j = right,t;if(left > right)return;while(i != j){while(a[j] >= temp && i < j )j--;while(a[i] <= temp && i < j)i++;if(i < j){t = a[i];a[i] = a[j];a[j] = t;}}a[left] = a[i];a[i] = temp;quick_sort(left,i-1);quick_sort(i+1,right);
}
int main()
{while(~scanf("%d",&N)){for(int i = 0; i < N; i++){scanf("%d",&a[i]);}quick_sort(0,N-1);int max_a = a[N-1];printf("%d\n",max_a);if(N == 1) printf("-1\n");else{int num = 0;printf("%d",a[0]);for(int i = 1; i < N-1; i++){printf(" %d",a[i]);}printf("\n");}}
}
4936: 特殊排序相关推荐
- 数据结构(Java)-排序算法-选择排序
选择排序: 选择排序也是一种简单的排序方法.它的基本思想是: 对于总共n个元素的数组arr: 第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换, 第二次从arr[1]~arr[n ...
- linux按大小显示当前文件,linux下按文件大小排序
日常维护中经常遇到磁盘空间告警的问题需要查看具体是那一个或多个文件占用的空间过大,再根据具体情况决定是否需要转移或删除.当然该问题可以通过find指令找出所有超出某大小的所有文件.除了find ,我们 ...
- 快速排序amp;amp;选择排序amp;amp;冒泡排序
先说选择排序与冒泡排序.这两个排序算法效率差不多,只不过选择排序算法是每一趟选出最大或者最小的数依次放在最前面,而冒泡排序一般情况则是每一趟置换出最大数依次到最末尾位置. 快速排序,顾名思义是最常用. ...
- 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...
- 伍六七带你学算法 进阶篇-排序算法
给定一个整数数组 nums,将该数组升序排列. 示例 1: 输入:[5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:[5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 各排序算 ...
- python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...
本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...
- Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)
zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...
- Redis 高级特性(1)—— 事务 过期时间 排序
1. Redis 高级特性 -- 事务 事务概念 Redis 中的事务 (transaction)是一组命令的集合.事务同命令一样是 Redis 的最小执行单位,一个事务中的命令要么都执行,要么都不执 ...
- 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/
大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...
最新文章
- ulimit -SHn 65535 含义
- 安防行业为何缺少真正适用的AI芯片?
- Unity3D与Leap motion连接学习记录
- C++程序内存分配方式(堆与栈)
- mysql5.6 1g内存_1G内存用MySQL5.6还是用MySQL5.5比较好
- 水平分库分表的关键问题及解决思路(转)
- django+nginx+uwsgi项目部署文档整理
- Linux(Ubuntu/CentOS)安装splunkforwarder步骤
- 如何找到python的安装路径_在cmd中查看python的安装路径方法
- camerax_Android CameraX OpenCV图像处理
- Akka创建第一个Actor《nine》译
- 程序员面试金典——5.3最接近的数
- 定时任务及分布式定时任务注意事项
- mingw 使用 HPSocket 进阶版
- 阿里云的“飞天“是什么?
- Windows安装git图文教程
- 「图像处理」使用Python+Openface实现人脸识别与关键点(landmarks)检测
- 简单暴力的排序方式:直接排序
- 最近最久未使用页面置换算法C语言,LRU页面置换算法模拟-最近最久未使用置换算法...
- 亚马逊风控从哪些方面检测的?
热门文章
- Spark SQL 之SparkSession
- 秀啊,用Python快速开发在线数据库更新修改工具
- Python实用小技能,一个比一个高级!
- 快速提高Python数据分析速度的八个技巧
- Jupyter与PyCharm不可兼得?Jupytext就是你需要的!
- gogs创建项目_容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD
- mysql 执行计划不对_关于mysql主从查询执行计划不一致问题的分析
- 组合内容_剑与远征:亚龙组合成型,新的更新内容,比以前更强了?
- 针对B2B平台的接口自动化测试系统
- 图形结构:安排课程,图的遍历策略