package quickSort;
/**
* 快速排序
* @author root
*
*/
public class QuickSort {
static int[] data = {0,2,4,5,3,1,7,6};
public static void main(String[] args) {
// TODO Auto-generated method stub
sort(data, 0, data.length-1);
print(data);
}
//快速排序
public static void sort(int[] data, int low, int high){
if(low
int mid = partition(data, low, high);
sort(data, low, mid-1);
sort(data, mid+1, high);
}
}
//以某个数字为枢轴,小的在其左,大的在其右
public static int partition(int[] data, int low, int high){
int temp = data[low];
while(low
while(lowtemp)
high--;
data[low]=data[high];
while(low
low++;
data[high]=data[low];
}
data[low]=temp;
return low;
}
public static void print(int[] data){
for(int i=1; i
System.out.println(data[i]);
}
}
}
Java 快排
基于分治法的快排,用递归实现. 首先讲一下实现的过程. 1.在数组中取一个数作为基准,所谓的基准就是用来对比的数. 2.然后在数组中从后往前找,找到一个逆序数为止,找到之后就把它的值赋值到基准数的位, ...
Java 快排 排序
一.快排的一种 ==================== public class myMain { public static void main(String[] args) { int t[] ...
java快排(两种方法)
快排是最基础的排序算法之一,今天来回顾一下. public class QuickSort { public static void quickSort(int[] array){ if(array ...
java——快排、冒泡、希尔、归并
直接贴代码 快排: public class Test { private static void sort(int[] nums){ if(nums == null || nums.length = ...
java快排思想
1分治思想 1.1比大小在分区 1.2从数组中取出一个数做基准数 1.3将比他小的数全放在他的左边,比他大的数全放在他的右边 1.4然后递归 左边 和右边 }
Java常见的几种排序算法-插入、选择、冒泡、快排、堆排等
本文就是介绍一些常见的排序算法.排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序.选择排序.冒泡排 ...
折半、快排、插入排序的Java实现
插入排序 import java.util.Arrays; public class InsertionSort { /** * 对数组里面进行插入排序 * 参数1 数组 * 参数2 数组大小 */ ...
快排+java实现
import java.util.Arrays; public class QuickSort { //三数取中法.取出不大不小的那个位置 public static int getPivotPos( ...
Java实现的各种排序算法(包括冒泡,快排等)
//堆排序 不稳定 import java.util.Arrays; public class HeapSort { public static void main(String[] args) { ...
随机推荐
codeforces 727F. Polycarp's problems
题目链接:http://codeforces.com/contest/727/problem/F 题目大意:有n个问题,每个问题有一个价值ai,一开始的心情值为q,每当读到一个问题时,心情值将会加上该 ...
nodeJS里面的模块
this 打开cmd,执行如下命令 nodeconsole.log(this); 输出如上信息,表示this是global,每个电脑的配置信息不一样的话,可能会有所差别的. 然后新建一个文件,写下如下 ...
mybatis数据源源码剖析(JNDI、POOLED、UNPOOLED)
http://blog.csdn.net/reliveit/article/details/47325189
App测试全(转自鲁德)
1.App测试流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间. 1.3测试资源 ...
Servlet学习记录3
提交表单信息 Web程序的任务是实现服务器与客户端浏览器之间的信息交互.客户端提交的信息可能来自表单里的文本框,密码框,选择框,单选按钮,复选框以及文件域.这些表单信息被以参数形式提交到了服务器.Se ...
opencv学习之路(31)、GrabCut &; FloodFill图像分割
一.GrabCut 1.利用Rect做分割 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat ...
mysql常用连接查询
连接数据库PDO $user = "root"; //数据库连接账号 $pass = "root"; //数据库连接密码 $dbname = "tes ...
Centos socket TCP代码
一.功能描述: 能够在Centos中创建TCP socket,实现Client给Server发送消息,Server能够Client发送消息. 二.代码如下: ①client代码: #include & ...
js循环总结
js原生的循环有两种,一般的for循环和for...in循环.还有一种常用jQuery.each()循环. 一. js原生循环 a. for循环,代码如下: var myArray = [1,2,3] ...
OpenACC 异步计算
▶ 按照书上的例子,使用 async 导语实现主机与设备端的异步计算 ● 代码,非异步的代码只要将其中的 async 以及第 29 行删除即可 #include #in ...