Java:快速排序(双指针版)
2016-05-13 00:00
851 查看
[code=plain] import java.util.Arrays; public class qucik_sort { public static void main(String[] args) { // TODO Auto-generated method stub int[] scores={5,4,6,3,7,2,8,1,9,10}; int[] scores1={4,2,3}; //System.out.println(partition(scores,0,scores.length)); System.out.println(Arrays.toString(quick_sort(scores,0,scores.length-1))); //System.out.println(Arrays.toString(quick_sort(scores1,0,scores1.length-1))); } public static int partition(int[] arrays,int p,int q){ int x=arrays[p]; int i=p; int tmp; int j=q; while(i <j){ while(i<j && arrays[j]>=x){ j--;} if(i<j){ tmp=arrays[j]; arrays[j]=arrays[i]; arrays[i]=tmp; i++; } while(i<j && arrays[i]<=x){ i++;} if(i<j){ tmp=arrays[j]; arrays[j]=arrays[i]; arrays[i]=tmp; j--; } } return i; } public static int[] quick_sort(int[] arrays,int p,int q){ if(p<q){ int r=partition(arrays,p,q); //System.out.println(r+Arrays.toString(arrays)); quick_sort(arrays,p,r-1); quick_sort(arrays,r+1,q); } return arrays; } }
相关文章推荐
- Java:冒泡排序
- Java:快速排序(单指针)
- 基于内积法的Hadoop的MapReducer框架实现稀疏矩阵乘法(java)
- Spring MVC @ModelAttribute
- spring容器问题:解决图片服务器地址无法解析
- java 随机数,剩余数
- 《Java编程思想》第四版读书笔记 第八章 多态
- Java文件下载
- springMVC 返回类型选择 以及 SpringMVC中model,modelMap
- 解决building workplace 导致的卡死,使得eclipse加速
- 导入Android Studio 项目报 invalid gradle jdk configuration found
- 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类
- [javaSE] 集合框架(TreeSet)
- Spring 4.x官方参考文档中文版——第21章 Web MVC框架(1)
- mybatis 整合spring mv SqlSessionDaoSupport
- Spring JMS——MessageConverter介绍
- Java小数点位数保留问题
- 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
- eclipse下将solr发布为web项目
- Java 数据类型与jni数据类型对应关系