(快排)51NOD 1018 排序
第1行:整数的数量N(1 <= N <= 50000)
第2 - N + 1行:待排序的整数(-10^9 <= A[i] <= 10^9)
共n行,按照递增序输出排序好的数据。
5
5
4
3
2
1
1
2
3
4
5
解:快速排序,两边同时比较、交换。
#include <stdio.h>
#include <stdlib.h> int sn[]; void swap(int a, int b)
{
if (a == b) return;
sn[a] ^= sn[b];
sn[b] ^= sn[a];
sn[a] ^= sn[b];
} void quicksort(int st, int en)
{
int i = st, j = en;
if (i >= j) return;
while (i < j)
{
while (sn[--j] > sn[st] && j > i);
while (sn[++i] < sn[st] && j > i);
if (i >= j) break;
swap(i, j);
}
swap(st, j);
quicksort(st, j);
quicksort(j + , en);
} int main()
{
int n;
while (scanf_s("%d", &n) != EOF)
{
for (int i = ; i < n; i++) scanf_s("%d", &sn[i]);
quicksort(, n);
for (int i = ; i < n; i++) printf("%d\n", sn[i]);
}
return ;
}
(快排)51NOD 1018 排序的更多相关文章
- 51nod 1018 排序
		
1018 排序 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出N个整数,对着N个整数进行排序 Input 第1行:整数的数量N(1 <= N ...
 - ACM/ICPC 之 快排+归并排序-记录顺序对(TSH OJ-LightHouse(灯塔))
		
TsingHua OJ 上不能使用<algorithm>头文件,因此需要手写快排(刚开始写的时候自己就出了很多问题....),另外本题需要在给横坐标排序后,需要记录纵坐标的顺序对的数量,因 ...
 - JavaScript快排与原生sort的测试
		
今天工作室断网!果断回宿舍,不然各种资料都没有.(他说将来会找到!)不好意思,又哼起来了.进入主题,大家都知道,快排是各种排序算法中,最高效的也是应用最广的,还有更重要的一点,面试特别爱考的! 其实大 ...
 - JS实现快排
		
/*采用快排的方法排序,取第一个值为轴对数组进行分割排序,不断迭代后实现数组的排序*/ //定义分割函数 function partF(A,low, high){ var temp = A[low]; ...
 - Java常见的几种排序算法-插入、选择、冒泡、快排、堆排等
		
本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排 ...
 - C语言实现单向链表及其各种排序(含快排,选择,插入,冒泡)
		
#include<stdio.h> #include<malloc.h> #define LEN sizeof(struct Student) struct Student / ...
 - wikioi  1076 排序 【这里含冒泡、选择、插入以及快排库函数的调用】
		
/*=================================================================== 1076 排序 题目描述 Description 给出n和n ...
 - HDOJ(HDU) 1862 EXCEL排序(类对象的快排)
		
Problem Description Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. Input 测试输入包含若干测试用例.每个测试用例的第1行包含两个整数 N (<= ...
 - 普林斯顿大学算法课 Algorithm Part I Week 3 重复元素排序 - 三路快排 Duplicate Keys
		
很多时候排序是为了对数据进行归类,这种排序重复值特别多 通过年龄统计人口 删除邮件列表里的重复邮件 通过大学对求职者进行排序 若使用普通的快排对重复数据进行排序,会造成N^2复杂度,但是归并排序和三路 ...
 
随机推荐
- HDU 4960 (水dp)
			
Another OCD Patient Problem Description Xiaoji is an OCD (obsessive-compulsive disorder) patient. Th ...
 - idea导入(import)项目和打开(open)项目的区别
			
前言: 每次接手老项目,都得从git或svn下载下来,但是如果之前的项目不是用idea写的怎么办,可是你又习惯啦idea,那你必须把项目在idea上跑起来,那是用import还是用open呢,如何抉择 ...
 - Linux下汇编语言学习笔记36 ---
			
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
 - 无法打开物理文件 "X.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)解决
			
环境 SQLServer 2008 R2 问题 附加数据库出现“无法打开物理文件 "X.mdf".操作系统错误 5:"5(拒绝访问.)". (Microsoft ...
 - 使用maven时,如何修改JVM的配置参数;maven命令执行时到底消耗多少内存?
			
maven是使用java启动的,因此依赖JVM,那么如何修改JVM参数? MAVEN_OPTS 在系统的环境变量中,设置MAVEN_OPTS,用以存放JVM的参数,具体设置的步骤,参数示例如下: MA ...
 - 踩坑录-mysql不允许远程连接(错误码:1130) Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server“
			
每次搭建mysql环境都会遇见同样的问题,在此分享一下踩坑笔录. 一.问题描述 安装成功后,本地直接链接远程mysql,默认为不允许远程访问,则客户端提示1130 - Host'xxx.xxx.xxx ...
 - 【Python】python扩展
			
当python的基本功能无法满足要求.或者是为了保密源码(.py).遇到性能瓶颈时,我们经常要扩展python,扩展语言能够是C/C++.Java.C#等. 为python创建扩展须要三个基本的步骤: ...
 - 解决fragmentTransaction.replace不能全屏
			
今天遇到个问题,使用fragmentTransaction.replace替换后的内容不能全屏.. FragmentManager fragmentManager = getSupportFragme ...
 - C#高级编程五十二天----有序列表
			
有序列表 假设须要基于对全部集合排序,就能够使用SortedList<TKey,TValue>类.这个类依照键给元素排序.这个集合中的值和键都能够使用随意类型. 以下的样例创建了一个有序列 ...
 - 南阳OJ独木舟上的旅行
			
 /*独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描写叙述 进行一次独木舟的旅行活动.独木舟能够在港口租到,而且之间没有差别. 一条独木舟最多仅仅能乘坐 ...