基础编程:Java快速排序实例计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:22:31
来源 100Test.Com百考试题网


  基本思想:

  快速排序是冒泡排序的改进版本,它的思想是通过一趟排序讲待排序的记录分隔成独立的两部分,其中一不分记录的关键字均小于另一部分关键字,则可以分别对这两部门记录继续进行排序 ,以打倒整个虚列的有序。

  假设待排序的虚列为{L.r[s],L.r[s 1],.......,L.r[t]]} ,首先选取一个记录(通常可一选择第一个记录L.r[s])作为枢轴(或支点),然后按照下述原则重新排列其他记录,讲所有关键字较它小的记录都安置在它的位置之前,将所有关键字较它大的记录都安置在它的位置之后。由此可以该 “枢轴” 记录最后所落的位置i作为分界,将序列{L.r[s],L.r[s 1],.......,L.r[t]]} 分隔成了两个子序列{L.r[s],L.r[s 1],.......,L.r[i-1]]} 和 {L.r[i 1],L.r[s 1],.......,L.r[t]]} ,这个过程叫作一趟快速排序(或者一次划分).

  一趟快速怕序的具体做法是:附设两个指针low和high,他们的初值分别为low和high,设枢轴记录的关键字为privotkey,则首先从high所指位置向前搜索找到第一个关键字小于pivotkey的记录和枢轴记录互相交换,然后从low所指向的位置起向后搜索,找到第一个关键字大于privotkey的记录和枢轴记录互相交换,重复这两步直至low==high位置.

  代码一:


 /**
  *

相关文章


Java每日一题系列(4)计算机等级考试
Java每日一题系列(3)计算机等级考试
httpclient抓取网页内容计算机等级考试
HTMLParser学习整理常用的解析代码计算机等级考试
基础编程:Java快速排序实例计算机等级考试
include指令和include动作的区别计算机等级考试
JSP页面的五种跳转方法计算机等级考试
java中游标的应用计算机等级考试
java中对于复杂对象排序的模型及其实现计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛