快速排序
2015-07-27 22:24
393 查看
package sort; import java.util.Scanner; public class QuickSort { public static int[] arr; static{ System.out.println("Enter the array to sort, and use ',' as a separator:"); Scanner sc=new Scanner(System.in); String s=sc.nextLine(); String n[]=s.split(","); arr=new int[n.length]; System.out.println("Before sort:"); for(int i=0;i<arr.length;i++){ arr[i]=Integer.parseInt(n[i]); System.out.print(arr[i]+" "); } } public static void main(String args[]){ int m=arr.length-1; quickSort(0,m); System.out.println("Before sort:"); for(int i=0;i<arr.length;i++) System.out.print(arr[i]+" "); System.out.println(); } public static void quickSort(int left,int right){ int i=left; int j=right; int pivot=arr[left]; int temp=0; if(i<j){ do{ do{ if(arr[j]<pivot){ temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; break; } else j--; }while(j>i); do{ if(arr[i]>pivot){ temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; break; } else i++; }while(i<j); }while(i<j); System.out.print("Current sorting:"); for(int k=0;k<arr.length;k++) System.out.print(arr[k]+" "); System.out.println(); if(j-1>left) quickSort(left,j-1); if(right>i+1) quickSort(j+1,right); } } }
相关文章推荐
- Lintcode 比较字符串
- Scala学习第一天 scala开发环境搭建和helloword解析
- 面试:实现内存复制函数
- 选择排序
- JAVA中静态代码块,构造代码块,构造函数的加载顺序
- nginx源码分析1———进程间的通信机制三(mmap)
- 我爱自然语言处理网文章汇总
- Android studio导入Eclipse项目,和一些错误的解决
- Android UI 实战之圆形ImageView
- JQuery轮播图片效果
- 小白学开发(iOS)OC_多态(2015-07-27)
- 对于“NP难问题”的理解
- 面试题 —— 替换空格(ReplaceBlank)
- 2015-07-23 JQuery第三课(JQuery元素:获取、添加、删除、设置、绑定、显示隐藏、回调函数、动画)
- Computer Graphics Research Software
- WorldWind源码剖析系列:表面瓦片类SurfaceTile
- UI004---图片浏览器
- 学习 JavaScript 最难点之二 -- 理解closure(闭包)
- mac下连接安卓真机测试
- 黑马程序员----JAVA基础----泛型及工具类