QuickImpl

xiaoxiao2026-05-23  14

package com.liuxt.sort.impl;

import com.liuxt.sort.Sort;

public class QuickImpl implements Sort {

   /**  * 快速排序的基本思想:  *   将待排序的数组的数分成两个部分。其中一部分的关键字均少于另一部分的关键字。  *   然后再分别对这两部分继续排序。一直递归,最后使这整个序列有序。  *   *    * @param data  */ public void sortData(int[] data) {    quickSort(data, 0, data.length - 1); }  /**  * 实现快速排序的具体函数  * @param data 数组  * @param low 数组的上标  * @param high 数组的下标  */ private void quickSort(int data[],int low,int high){  int i,j,privokey;  if (low<high){   privokey=data[low]; //以数组的第一个元素为基准进行划分。   i=low;j=high;   while(i<j) {                //从两端往中间交替的扫描    while(i<j&&data[j]>=privokey) j--;     if (i<j) data[i++]=data[j]; //比轴心元素小的移动到低下标端    while(i<j&&data[i]<=privokey) i++;    if(i<j) data[j--]=data[i]; //比轴心元素的大的,移动到高下标端   }   data[i]=privokey; //轴心元素移动到正确的位置   quickSort(data,low,i-1);   quickSort(data,i+1,high);  } }

}

相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5049275.html

最新回复(0)