Sorting Algorithms ------ [QuickSort]

本文提供了一个快速排序算法的具体实现案例,通过生成随机数组并使用快速排序算法进行排序,展示了该算法的高效性和实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. public class QuickSortByBruce {
  2.     public static void main(String args[]){
  3.         int data[]=new int[100001];
  4.         Random r=new Random();
  5.         System.out.println("Print the Array Befor Sorting");
  6.         for(int i=1;i<=100000;i++){
  7.             data[i]=r.nextInt(100000);
  8.             System.out.print(data[i]+"-");
  9.             if(i%20==0)System.out.println();
  10.         }
  11.         long t1=System.currentTimeMillis();
  12.         QuickSort(data,1,data.length-1);
  13.         long t2=System.currentTimeMillis();
  14.         System.out.println("Finished~!!!  Following is the Result : ");
  15.         for(int i=1;i<=100000;i++){
  16.             System.out.print(data[i]+"--");
  17.             if(i%20==0)System.out.println();
  18.         }
  19.         System.out.println();
  20.         System.out.println(t1);
  21.         System.out.println(t2);
  22.     }
  23.     public static void QuickSort(int data[],int start,int end){
  24.         int i=start,j=end,temp;
  25.         int mid=data[(start+end)/2];
  26.         
  27.         while(i<=j){
  28.             while(data[i]<mid)i++;
  29.             while(data[j]>mid)j--;
  30.             if(i<=j){
  31.                 temp=data[i];data[i]=data[j];data[j]=temp;i++;j--;
  32.             }
  33.         }
  34.         if(start<j)QuickSort(data,start,j);
  35.         if(end>i)QuickSort(data,i,end);
  36.     }
  37. }

QuickSort好像要比其它的排序算法都要快...

 

procedure: 按下标先挑一个中间的值,然后将小于这个值的数放在左边,大于这个值的数放在右边,然后再进行递归....

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值