package com.yql.test;
public class QuickSort {
//快速排序算法平均运行时间O(NlogN),最坏的情形性能为O(N*N)
public void quickSort(String[] strDate, int left, int right) {
String middle, tempDate;
int i, j;
i = left;
j = right;
//选取枢纽元为中间的,时间证明这种选取枢纽元得方法 (三数中值分割算法)比较好
middle = strDate[(i + j) / 2];
do{
//直到找到左边第一个大于或等于枢纽元的数值时执行右边查询
while(strDate[i].compareTo(middle)<0&&i<right)
i++;
//直到找到右边第一个小于或等于枢纽元的数值执行下面的交换
while(strDate[j].compareTo(middle)>0&&i>left)
j--;
//当ij没有交叉时,交换数组i,j位置的值
if(i<=j){
tempDate=strDate[i];
strDate[i]=strDate[j];
strDate[j]=tempDate;
i++;
j--;
}
}while(i<=j);//只要ij没有交错就一直执行
//ij交错时,如果i比最右边的小 ,给右边的数值排序
if(i<right){
quickSort(strDate,i,right);
}
//ij交错时,如果j比最左边的大,给左边的数值排序
if(j>left){
quickSort(strDate,left,j);
}
}
public static void main(String[] args) {
//准备需要排序的数据
String[] strVoid = new String[] { "11", "66", "22", "0", "55", "22",
"0", "32" };
QuickSort sort = new QuickSort();
//排序
sort.quickSort(strVoid, 0, strVoid.length - 1);
//打印排好了序列的数组
for(int i=0;i<strVoid.length;i++){
System.out.println(strVoid[i]+" ");
}
}
}
分享到:
相关推荐
Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术...
本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合Java语言的实现进行解析。 1. **合并排序(Merge Sort)**: 合并排序是一种基于分治策略的排序算法...
本文将详述Java语言实现的六种经典排序算法:冒泡排序、选择排序、插入排序、归并排序、希尔排序以及快速排序。这些排序算法各有特点,适用于不同的场景。 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序...
java语言实现排序算法:包括冒泡排序、选择排序、快速排序、插入排序。
快速排序算法实现,随机输入一组数有序输出,用java语言实现
内容概要:本文档详细解析了快速排序(Quicksort)算法在 Java 语言环境下的实现步骤。通过对具体代码片段的研究,展示了如何确定基准点、元素的比较与交换以及递归过程中的边界条件判断。并附带了一个简单的测试...
Java作为广泛应用的编程语言,提供了一种高效的方式来实现各种排序算法。本文将深入探讨Java中实现的两种主要排序类型:插入排序和交换排序。 插入排序是一种简单直观的排序算法,它的工作原理类似于我们日常生活中...
在提供的代码片段中,`Project18_qSort` 类实现了快速排序算法。具体步骤如下: 1. **初始化**:定义一个数组 `a`,并调用 `qSort` 方法进行排序。 2. **递归调用**:在 `qSort` 方法中,首先检查 `from` 和 `to` ...
设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...
**基于Java语言十大经典排序算法** 排序算法是计算机科学中不可或缺的一部分,...通过阅读《基于java语言十大排序算法.docx》文档,你可以深入学习这些排序算法的实现细节,结合图形解释,有助于更好地理解和记忆。
采用java语言编写的可扩展快速排序算法。 资源简介: Array.java(数组接口), SortArray.java(Array的实现类,可扩展), SortVector.java(承载Array,并使用快速排序算法对数组进行排序) SortTest.java(测试类...
Java作为广泛应用的编程语言,提供了丰富的工具和方法来实现各种排序算法。以下是标题和描述中提到的12种排序算法的详细介绍,以及它们在Java中的实现原理: 1. **冒泡排序**:是最简单的排序算法,通过不断交换...
在本课程设计中,我们将使用 Java 语言对快速排序算法进行实现,并对算法的性能进行分析和比较。 快速排序算法的优点包括: * 高效的排序速度:快速排序算法的时间复杂度为 O(n log n),它是一种高效的排序算法,...
在 Java 中,快速排序算法可以使用递归函数来实现。例如,下面的代码就是一个使用快速排序算法对整数数组进行排序的示例: ```java public class Quick { public static void quickSort(int[] arr, int low, int ...
本文将深入探讨Java中实现的四种基本排序算法:插入排序、交换排序(包括快速排序和冒泡排序)、选择排序以及归并排序。虽然树形选择排序和堆排序在这次实现中未涵盖,但理解这四种排序算法的基本原理和Java实现方式...
在编程领域,排序算法是计算机科学中的核心概念,特别是在Java这样的高级编程语言中。本文将深入探讨Java中常见的几种排序算法,包括它们的工作原理、优缺点以及如何在实际编程中应用。 首先,我们来看`BubbleSort...
标题 "各种排序算法java实现" 涉及到的是计算机科学中的一个重要领域——算法,特别是排序算法在Java编程语言中的具体应用。排序算法是数据结构与算法分析中的基础部分,它们用于将一组数据按照特定顺序排列。在这个...
这个名为"Java各种排序算法代码.zip"的压缩包包含了一系列实现不同排序算法的Java源代码。排序算法是计算机科学中的基本概念,用于对一组数据进行排列。下面将详细讨论这些算法及其在Java中的实现。 1. 冒泡排序...
这是一个用Java语言实现的快速排序算法,快速排序算法是根据分冶思想去实现的。
Java作为广泛应用的编程语言,提供了丰富的工具和技术来实现各种排序算法。本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让...