快速排序,只要学习过编程的人肯定都听说过这个名词,但是有时候写的时候还真蒙住了,网上搜罗了下以及查阅了"introduction to algorithm",暂时找到两种实现快排的方式,记录如下: 1.通过挖坑,分治的方式,需要左右交替遍历 思想如下: 代码实现: public static void quickSort1(int[] a, int s, int e) { if (s >= e) return; int m = a[s]; int i = s, j = e; wh…
自己动手写排序算法,快速排序是比较不好写的了~ import java.util.*; class Test{ public void quickSort(int[] arr,int low,int high){ if(low<high){ int i=low; int j=high; int x=arr[low]; while(i<j){ while(i<j&&x<arr[j]){ j--; } if(i<j) arr[i++]=arr[j]; while(…
写在前面:这篇随笔主要记录一下递归调用引起的虚拟机栈溢出的情况以及通过参数配置了虚拟机栈大小来使递归调用可以顺利执行.并没有对涉及到的一些概念进行详细的解释(因为我自己目前对这些概念并不是特别清楚),可以用于参考的关键字: 关键字:java虚拟机栈,栈溢出,栈帧 今天在对比快速排序与冒泡排序时,通过代码分别实现了最简单的快速排序与冒泡排序(从小到大排序),代码如下: /** * 冒泡排序 */ public class BubbleSortDemo { public static void ma…