知识大全 Java版快速排序
Posted 知
篇首语:事常与人违,事总在人为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java版快速排序相关的知识,希望对你有一定的参考价值。
Java版快速排序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
/* * 快速排序是最流行的排序算法 本质上通过把一个数组划分为两个子数组 * 然后递归地调用自身为每一个子数组进行快速排序来实现 * ArrayIns java * l */ package linzhanghui quicksort; public class ArrayIns private long[] theArray; private int nElems; public ArrayIns(int max) theArray = new long[max]; nElems = ; public void insert(long value) theArray[nElems] = value; nElems++; public void display() System out print( A= ) for(int j= ; j<nElems; j++) System out print(theArray[j] + ) System out println( ) public void quickSort() recQuickSort( nElems ) public void recQuickSort(int left int right) if(right left <= ) return; else long pivot = theArray[right]; int partition = partitionIt(left right pivot) recQuickSort(left partition ) recQuickSort(partition+ right) public int partitionIt(int left int right long pivot) int leftPtr = left ; int rightPtr = right; while(true) while( theArray[++leftPtr] < pivot) ; while(rightPtr > && theArray[ rightPtr] > pivot) ; if(leftPtr >= rightPtr) break; else swap(leftPtr rightPtr) swap(leftPtr right) return leftPtr; public void swap(int dex int dex ) long temp = theArray[dex ]; theArray[dex ] = theArray[dex ]; theArray[dex ] = temp; /* * 程序随机产生 个 位随机数 显示这 个随机数后 对其进行快速排序并输出 * l */ package linzhanghui quicksort; public class QuickSortApp public static void main(String[] args) int maxSize = ; ArrayIns arr; arr = new ArrayIns(maxSize) for(int j= ; j<maxSize; j++) long n = (int)(java lang Math random()* ) arr insert(n) arr display() arr quickSort() arr display() cha138/Article/program/Java/hx/201311/26174相关参考