Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147746
  • 博文数量: 20
  • 博客积分: 1748
  • 博客等级: 上尉
  • 技术积分: 211
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-22 15:24
个人简介

想成功,得发疯,头脑简单向前冲!

文章分类

全部博文(20)

文章存档

2012年(5)

2011年(8)

2010年(7)

分类: Java

2012-07-20 17:27:43

快速排序法:(目前已知的排序法中最快的)

点击(此处)折叠或打开

  1. //3、快速排序法

  2. class Quick
  3. {
  4.     public void sort(int arr[],int left,int right)
  5.     {
  6.         if(left<right)
  7.         {
  8.             int i=left;
  9.             int j=right+1;
  10.             while(true)
  11.             {
  12.                 while(i+1<arr.length&&arr[++i]<arr[left]); //向右找

  13.                 while(j-1>=0&&arr[--j]>arr[left]); //向左找

  14.                 if(i>=j)
  15.                     break;
  16.                 swap(arr,i,j);
  17.             }
  18.             swap(arr,left,j);
  19.             sort(arr,left,j-1); // 对左边进行返回

  20.             sort(arr,j+1,right); //对右边进行返回

  21.         }
  22.     }
  23.     public void swap(int arr[],int i,int j)
  24.     {
  25.         int t=arr[i];
  26.         arr[i]=arr[j];
  27.         arr[j]=t;
  28.     }
  29. }

 
阅读(2669) | 评论(0) | 转发(0) |
0

上一篇:java 二分查找法

下一篇:没有了

给主人留下些什么吧!~~