A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 心在左边跳 中级黑马   /  2015-8-2 18:01  /  186 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

快速排序,这个排序很简单

  1. public class Test {

  2.         public static void main(String[] args) {
  3.                 int[]a={8,6,9,3,19,23,4};
  4.                 quickSort(a,0,a.length-1);
  5.                 for(int i:a){
  6.                         System.out.print(i+"\t");
  7.                 }
  8.                        
  9.                 }

  10.         public static void quickSort(int[] a,int p,int q){
  11.                 //只有一个数的部分不用排序
  12.                 if (p==q)
  13.                         return;
  14.                 int key=a[p];
  15.                 int i=p;
  16.                 for(int j=p+1;j<=q;j++){
  17.                         if(a[j]<=key)
  18.                         swap(a,++i,j);
  19.                 }
  20.                 swap(a,p,i);
  21.                 quickSort(a,p,i);
  22.                 quickSort(a,i+1,q);
  23.         }

  24.         private static void swap( int[] a,int i, int j) {
  25.                 int temp=a[i];
  26.                 a[i]=a[j];
  27.                 a[j]=temp;
  28.         }
  29. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马