编程语言
首页 > 编程语言> > 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,int,代码,long,nElems,void,theArray,排序,public
来源: https://blog.csdn.net/weixin_44121164/article/details/122592437