java 算法之快速排序实现代码
作者:lqh 发布时间:2023-01-30 01:44:59
标签:java,算法,快速排序
java 算法之快速排序实现代码
摘要: 常用算法之一的快速排序算法的java实现
原理:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描, 将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素, 此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。
/**
*
* @author 阿信sxq-2015年7月16日
*
* @param args
*/
public static void main(String[] args) {
int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4,
62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 };
if (a.length > 0) {//查看数组是否为空
_quickSort(a, 0, a.length - 1);
}
System.out.println(Arrays.toString(a));
}
public static void _quickSort(int[] arr, int left, int right) {
if (left >= right) {
return;
}
int low = left;
int high = right;
int tmp = arr[low];//数组的第一个作为中轴
while (low < high) {
while (low < high && arr[high] >= tmp) {
high--;
}
arr[low] = arr[high];//比中轴小的记录移到低端
while (low < high && arr[low] <= tmp) {
low++;
}
arr[high] = arr[low];//比中轴大的记录移到高端
}
arr[low] = tmp;//中轴记录到尾
_quickSort(arr, left, low - 1);//对低字表进行递归排序
_quickSort(arr, low + 1, right);//对高字表进行递归排序
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:https://my.oschina.net/songxinqiang/blog/672635


猜你喜欢
- 一、材料准备1、jdk1.8的安装包2、maven安装包3、idea工具二、配置jdk1.8环境变量1.jdk下载jdk下载网址(点击此链接
- 首先要安装SpeechSDK5.1 开发包和SpeechSDK5.1 Langague Pack(中英文) 语言包,不过VS2010里是自带
- 一、简介约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢
- 本文以实例详细分析了Java中重载与重写的区别,感兴趣的朋友可以参考一下。一、重载(Overloading):(1) 方法重载是让类以统一的
- 本文实例为大家分享了java实现客房管理系统的具体代码,供大家参考,具体内容如下AddClient.javaimport java.awt.
- 环境:eclipse + spring mvc + maven1、直接看图,把数据库的配置单独拿出来放在了resources_env目录下,
- 使用抽象类应该注意的几个要点:包含一个或者多个抽象方法的类必须被声明为抽象类. 将类声明为抽象类,不一定含有抽象方法.通常认为,在抽象类中不
- 1.File对象java封装的一个操作文件及文件夹(目录)的对象。可以操作磁盘上的任何一个文件和文件夹。2.创建文件方式一:根据路径构建一个
- 大家基本上都知道如何使用 MyBatis 执行任意 SQL,使用方法很简单,例如在一个 XXMapper.xml 中:<select
- 接上回上一篇我们简单介绍了基于SpringBoot实现简单的Web开发,本节来看Web开发中必不可少的内容—&m
- 本文实例为大家分享了Opencv实现画笔功能的具体代码,供大家参考,具体内容如下#include<iostream>#inclu
- 本文旨在通过重写Comparator接口的compare()方法实现对List的升序、降序、倒序排序。首先明确一点:compare(Inte
- Android 校验email是否合法这个其实跟JAVA中是一样的。例子: String regEx = "^(([
- 1、profiles是什么?有什么作用在maven构建的项目都存在一个pom.xml的项目对象模型配置文件,用于约束项目(如:jar包管理、
- 一、C#代码将html样式文件转为Word文档首先有个这样的需求,将以下网页内容下载为Word文件。html代码:<div class
- 今天写一个小程序中使用到了全局快捷键,找到了我之前写的文章在c#中使用全局快捷键翻了一下,发现它是WinForm版本的,而我现在大部分写WP
- 题目:求1+2!+3!+...+20!的和程序分析:此程序只是把累加变成了累乘。程序设计:public class Ex21 {  
- package com.videobackend.controller;import java.io.File;import java.io
- 在学习安卓的最初过程中我们学的都是最基本的一个活动,只有一个活动的应用也太简单了吧,没错我们的最求应该更高点,不管你创建多少个活动,接下里我
- C#类如下:using System;using System.Collections.Generic;using System.Text;