快速排序java
来源:互联网 发布:js原生代码隐藏div 编辑:程序博客网 时间:2024/06/10 13:21
package jianzhioffer;import java.util.Arrays;public class QuickSort { // 一次排序 public static int partition(int data[], int start, int end) { if (data.length <= 0 || start < 0 ) { System.err.println("不合法"); } int key = start; int value = data[0]; while (start != end) { if (key<end) { if (value < data[end]) { swap(data, key, end); key = end; } else { end--; } } else { if (value > data[start]) { swap(data, start, key); key = start; } else { start++; } } } return key; } //交换数组元素 public static void swap(int data[], int i, int j) { data[i] ^= data[j]; data[j] = data[i] ^ data[j]; data[i] ^= data[j]; } //递归排序左右子序列 public static void quickSort(int[] data, int start, int end) { if (start == end) { return; } int key = partition(data, start, end); if(key<end) quickSort(data, key+1, end); if(key>start) quickSort(data, start, key-1); } //测试 public static void main(String[] args) { int[] data = new int[] { 2, 5, 1, 5, 7, 8 }; quickSort(data, 0, data.length - 1); System.out.println(Arrays.toString(data)); }}
阅读全文
0 0
- 排序-快速排序-Java
- java排序之快速排序
- Java排序算法 快速排序
- 快速排序(java排序)
- java 快速排序,冒泡排序
- 算法:排序----Java快速排序
- 【交换排序】快速排序--Java
- java 插入排序+快速排序
- Java 排序之 快速排序
- java排序之快速排序
- Java排序算法:快速排序
- Java排序-快速排序
- Java排序算法:快速排序
- Java排序算法--》快速排序
- JAVA排序算法---快速排序
- Java 快速排序 归并排序
- Java排序算法--快速排序
- java 冒泡排序、快速排序
- Java:String和Date、Timestamp之间的转换
- spark wordcount 提交运行
- JavaScript原型链
- C#WPF里面RichTextBox的内容带格式存到数据库中
- Disruptor并发框架
- 快速排序java
- 阿里云Cent OS服务器搭建环境jdk1.7+mysql+tomcat7.0
- iOS tableView cell的分割线设置
- Retrofit2.0使用
- Eclipse 安装scala插件
- Cause: java.sql.SQLException: 无效的列类型
- 征信良好贷款秒拒?你可能上了“灰名单”!
- android webview 保存cookie
- Android与LinuxC目录创建以及文件读写操作