知识大全 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相关参考
cha138/Article/program/Java/JSP/201311/20237
快速排序(QuickSort) 算法思想 快速排序是CRAHoare于年提出的一种划分交换排序它采用了一种分治的策略通常称其为分治法(Divideand ConquerMethod) ()
快速排序 快速排序(QuickSort)通过一趟排序将待排记录分割成独立的两部分其中一部分记录的关键字均比另一部分记录的关键字小则可分别对这两部分记录继续进行排序以达到整个序列有序快速排序三个步骤
快速排序执行过程 快速排序执行的全过程可用递归树来描述 > > 分析 ()递归执行的路线如图中带箭头的包络线所示 ()递归树上每一结点左旁方括号表示当前待排序的区间结点内的关键字是划分
算法分析 快速排序的时间主要耗费在划分操作上对长度为k的区间进行划分共需k次关键字的比较 ()最坏时间复杂度 最坏情况是每次划分选取的基准都是当前无序区中关键字最小(或最大)的记录划分的结果
划分算法Partition ()简单的划分方法 ①具体做法 第一步(初始化)设置两个指针i和j它们的初值分别为区间的下界和上界即i=lowi=high;选取无序区的第一个记录 R[i](即
最近在面试遇到很多排序算法问题总结一下 定义数组如下 [java] int[]array=newint[]; int[]array=newint[]; 首先是插入排序 [java]
Java代码 插入排序: packagerututilalgorithmsupport; importrututilalgorithmSortUtil; publicclassInse
使用环境和条件 有这样一种情况php里面的关联数组如果下面这样的数组数据 [php] $array=array( array( name=>xiao age=> ) a
Java中的排序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java和库都缺少的一样东西是算