Java中的快速排序源代码

发表于:2010-1-25 10:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java

  public class QuickSort {

  public static void main(String[] args) {

  Random random=new Random();

  int[] pData=new int[10];

  for(int i=0;i<pData.length;i++){ //随机生成10个排序数

  Integer a =random.nextInt(100);

  pData[i]= a;

  System.out.print(pData[i]+&quot; &quot;);

  }

  System.out.println();

  int left=0;

  int right=pData.length-1;

  Sort(pData,left,right);

  for(int i=0;i<pData.length;i++){

  System.out.print(pData[i]+&quot; &quot;);

  }

  System.out.println();

  }

  public static int[] Sort(int[] pData, int left, int right){

  int middle,strTemp;

  int i = left;

  int j = right;

  middle = pData[(left+right)/2];

  do{

  while((pData[i]<middle) && (i<right))

  i++;

  while((pData[j]>middle) && (j>left))

  j--;

  if(i<=j){

  strTemp = pData[i];

  pData[i] = pData[j];

  pData[j] = strTemp;

  i++;

  j--;

  }

  for(int k=0;k<pData.length;k++){

  System.out.print(pData[k]+&quot; &quot;);

  }

  System.out.println();

  }while(i<j);//如果两边扫描的下标交错,完成一次排序

  if(left<j)

  Sort(pData,left,j); //递归调用

  if(right>i)

  Sort(pData,i,right); //递归调用

  return pData;

  }

  }

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • nekki_wu
    2010-1-25 15:00:33

    2分查找

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号