Java教程

java版快速排序法的代码

本文主要是介绍java版快速排序法的代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

将开发过程中重要的内容段备份一下,如下内容段是关于java版快速排序法的内容。

package linzhanghui.quicksort;

public class ArrayIns {

private long[] theArray;

private int nElems;

public ArrayIns(int max) {

theArray = new long[max];

nElems = 0;

}

public void insert(long value) {

theArray[nElems] = value;

nElems++;

}

public void display() {

System.out.print("A=");

for(int j=0; j<nElems; j++)

System.out.print(theArray[j] + " ");

System.out.println("");

}

public void quickSort() {

recQuickSort(0, nElems-1);

}

public void recQuickSort(int left, int right) {

if(right-left <= 0)

return;

else {

long pivot = theArray[right];

int partition = partitionIt(left, right, pivot);

recQuickSort(left, partition-1);

recQuickSort(partition+1, right);

}

}

public int partitionIt(int left, int right, long pivot) {

int leftPtr = left-1;

int rightPtr = right;

while(true) {

while( theArray[++leftPtr] < pivot)

;

while(rightPtr > 0 && theArray[--rightPtr] > pivot)

;

if(leftPtr >= rightPtr)

break;

else

swap(leftPtr, rightPtr);

}

swap(leftPtr, right);

return leftPtr;

}

public void swap(int dex1, int dex2) {

long temp = theArray[dex1];

theArray[dex1] = theArray[dex2];

theArray[dex2] = temp;

}

}





package linzhanghui.quicksort;

public class QuickSortApp {

public static void main(String[] args) {

int maxSize = 16;

ArrayIns arr;

arr = new ArrayIns(maxSize);

for(int j=0; j<maxSize; j++) {


arr.insert(n);

}

arr.display();

arr.quickSort();

arr.display();

}

}
这篇关于java版快速排序法的代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!