java实现各种排序算法,java快速排序的两种方法

  java实现各种排序算法,java快速排序的两种方法

  1.什么是快速排序?

  实际上,快速排序是冒泡排序的改进。

  2.快速排序的思想

  要排序的数据通过一次排序分成两个独立的部分,一部分的所有数据小于另一部分的所有数据。然后用这种方法对两部分数据进行快速排序,整个排序过程可以递归进行,使整个数据成为有序序列。

  (视频教程推荐:java视频教程)

  3.实现思路

  (1)以第一个关键字K 1为控制字,将[K 1,K 2,…,K n]分成两个子区域,使左侧区域的所有关键字小于等于K 1,右侧区域的所有关键字大于等于K 1。最后,控制字占据两个子区域中间的适当位置。分区中的数据仍然是无序的。

  (2)将左侧区域作为一个整体,用(1)中的步骤处理,右侧区域同样处理。(即递归)

  (3)重复步骤(1)和(2),直到左侧区域被处理。

  4.实现代码。

  静态void快速排序(int n[],int left,int right) {

  int dp

  如果(左/右){

  dp=分区(n,左,右);

  快速排序(n,左,DP-1);

  快速排序(n,dp 1,右);

  }

  }

  静态int分区(int n[],int left,int right) {

  int pivot=n[left];

  while(左/右){

  while(左右n[右]=pivot)

  右-;

  如果(左/右)

  n[左]=n[右];

  while(左右n[左]=pivot)

  左;

  如果(左/右)

  n[右-]=n[左];

  }

  n[left]=枢轴;

  向左返回;

  }推荐教程:java入门程序以上是java实现快速排序的思路的详细内容。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: