文档章节

Java:快速排序(单指针)

ricardohn
 ricardohn
发布于 2016/05/13 09:59
字数 147
阅读 30
收藏 4

import java.util.Arrays;
import java.util.Scanner;

public class Quick_Sort {
	private static Scanner s;
	static int tmp;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] scores = new int[10];
		s = new Scanner(System.in);
		for (int i=0;i<scores.length;i++){
			scores[i] = s.nextInt();
		}
		System.out.println(partition(scores,0,scores.length));
		System.out.println(Arrays.toString(quick_sort(scores,0,scores.length)));
	}
	public static int partition(int[] arrays,int p,int q){
		int x=arrays[p];
		int i=p;
		int tmp;
		for(int j=p+1;j<q;j++){
			if (arrays[j]<=x){
				i+=1;
				tmp=arrays[j];
				arrays[j]=arrays[i];
				arrays[i]=tmp;
				}
			}
		
		tmp=arrays[i];
		arrays[i]=x;
		arrays[p]=tmp;
		return i;
	}
	public static int[] quick_sort(int[] arrays,int p,int q){
		if(p<q){
			int r=partition(arrays,p,q);
			quick_sort(arrays,p,r-1);
			quick_sort(arrays,r+1,q);	
		
		}
		return arrays;
	}
}

 

© 著作权归作者所有

共有 人打赏支持
ricardohn
粉丝 1
博文 76
码字总数 30236
作品 0
成都
多态在 Java 和 C++ 编程语言中的实现比较

众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对...

Jerikc
2013/12/03
0
1
单线程排序和利用Fork/Join进行多线程并行排序的简单对比

Fork/Join框架自从在JDK7中引进之后,对并行计算的设计带来了更多便利。 本文使用java原生的排序方法Array.sort单线程排序,和利用Fork/Join框架进行任务分割设计的快速排序进行对比。 首先,...

Nox
2015/08/10
0
0
面试 11:玩转 Java 归并排序

面试 11:Java 玩转归并排序 前面讲了冒泡、选择、插入三种简单排序,时间复杂度都是 O(n²),今天,我们终于迎来了更高级的排序:归并排序。 虽然在这之前还有希尔排序和堆排序,但由于时间...

nanchen2251
07/18
0
0
「游戏引擎Mojoc」(10)Android NDK通用JNI调用Java代码封装

Mojoc提供了一个通用的工具类,来调用Android Java代码,以实现特定平台的功能。这个工具类封装了JNI使用的繁琐细和上下文对象的获取,提供了简单直接的API专注于Java类和方法的访问,并且实...

scottcgi
05/20
0
0
JDK 11 将引入低延迟 GC,大幅度缩短 GC 暂停时长

之前我们报导过 JDK 11 进入特性冻结阶段,今天来看看 JEP 333 为了大幅减少 GC 暂停时间的可伸缩低延迟垃圾回收器 ZGC(Scalable Low-Latency Garbage Collector )。 GC 一直以来是 Java 的...

h4cd
07/10
0
18

没有更多内容

加载失败,请刷新页面

加载更多

造谣造到t-io老巢了

只发当事人的截图,不发表评论,以免有引导嫌疑 PS1:截图是由不同的人发给我的 PS2:本人早就不在此微信群了 PS3:图3是2018-09-23的t-io官方群的一个发言小统计

talent-tan
9分钟前
15
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
42分钟前
1
0
Spring 转换 model 为 json 时增加属性

缘起 目前的项目中有个需求是在附件对象转换成 json 时增加个 url 属性,以前的方式是在返回附件对象或列表时候做一次统一处理,这次想看看 spring 或者 jackson fasterxml 是否自带类似功能...

郁也风
今天
1
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
今天
1
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部