快速排序算法的Java实现
来源:互联网 发布:360浏览器for mac 编辑:程序博客网 时间:2024/05/17 08:48
package com.suifeng.sort;public class QuickSort {public static void main(String[] args) {int[] nums = { 49, 38, 65, 97, 76, 13, 27 };System.out.println("=============排序前=============");//显示排序后的数组 for (int i = 0; i < nums.length; ++i) {System.out.print(nums[i] + ",");}System.out.println();//应用快速排序方法 sort(nums, 0, nums.length - 1);System.out.println("=============排序前=============");//显示排序后的数组 for (int i = 0; i < nums.length; ++i) {System.out.print(nums[i] + ",");}System.out.println("");}public static void sort(int[] arr, int low, int high){int lo = low;int hi = high;if(low >= high){return;}// 默认从后往前数boolean flag = true;while(low < high){// 碰到后边比关键码大的值,交换该值与关键码的位置if(arr[low] > arr[high]){int temp = arr[low];arr[low] = arr[high];arr[high] = temp;// 重置下标移动方向flag = !flag;}if(flag){// 关键码在arr[low]处high--;}else{// 关键码在arr[high]low++;}}high++;low--;sort(arr,lo,low);sort(arr,high,hi);}}
执行结果:
=============排序前=============
49,38,65,97,76,13,27,
=============排序后=============
13,27,38,49,65,76,97,
算法的解释来自于http://www.cnblogs.com/yanzi629/archive/2010/11/20/1882863.html,源码部分也参考里边实例代码的是是实现
- [排序算法]--快速排序的Java实现
- [Java]快速排序算法的Java实现
- Java实现数组的快速排序(快速排序算法)
- 快速排序算法的JAVA实现
- 快速排序算法的JAVA实现
- 快速排序算法的JAVA实现
- 快速排序算法的JAVA实现
- java快速排序算法的简单实现
- 快速排序算法的Java实现
- 快速排序算法的Java实现
- 快速排序算法的JAVA实现 .
- 快速排序算法的JAVA实现
- Java实现的快速排序算法
- 快速排序算法的Java实现
- Java快速排序算法的实现
- JAVA中快速排序算法的实现
- Java-快速排序算法的实现
- java实现的快速排序算法
- 钉在脑后五寸的情
- 窗口消息(Windwo Messages)
- Windows驱动中的Request
- FPGA面试题
- 逻辑性错误出现后的杯具和启示
- 快速排序算法的Java实现
- 传智博客JAVA基础第二天
- ASP.NET Json序列化和反序列化实例
- 七夕,你拿什么拯救你的爱人?
- JDBC中事务的使用
- PHP多进程编程
- 分数 分子分母
- 事务的ACID 属性
- 使用Runtime类的exec()方法执行外部程序