java常用算法之快速排序详解
来源:互联网 发布:匡恩网络女副总裁 编辑:程序博客网 时间:2024/06/04 20:00
package com.kero99.ygc.quickSort;public class QuickSort { /** * 快速排序 类似于冒泡排序 基于交换排序的思想 对冒泡排序进行改进 提高了执行效率 * 设定一个分界值 将数组分为左右俩部分 大于等于分界值放到数组右边 小于的值放到数组左边 * 左右两边数据可以独立排序 同样左边放较小的 右边放较大的 * @param arr * @param left * @param right */ // private static final int SIZE = 18; public void quickSort(int[] arr,int left,int right){//快速排序算法 int f,t; int rtemp,ltemp; ltemp=left; rtemp=right; f=arr[(left+right)/2];//分界值 当前数组则为30 while(ltemp<rtemp) //左边的值小于右边的 0 - 4 { while(arr[ltemp]<f){//左边的小于分界值 下标++ ++ltemp; } while(arr[rtemp]>f){//右边的大于分界值 下标-- --rtemp; } if(ltemp<=rtemp){ t=arr[ltemp]; arr[ltemp]=arr[rtemp]; arr[rtemp]=t; --rtemp; ++ltemp; } } if(ltemp==rtemp){ ltemp++; } if(left<rtemp){ quickSort(arr,left,ltemp-1); } if(ltemp<right){ quickSort(arr,rtemp+1,right); } } public static void main(String[] args) { int[] s={20,123,30,555,1000}; QuickSort qs=new QuickSort(); qs.quickSort(s, 0, s.length-1); for(int i=0;i<s.length;i++){ System.out.println(s[i]); }// int[] shuzu=new int[SIZE];// int i;// for(i=0;i<SIZE;i++){// shuzu[i]=(int)(100+Math.random()*(100+1));// }// QuickSort qs=new QuickSort();// System.out.println("排序前");// for(i=0;i<SIZE;i++){// System.out.print(shuzu[i]+" ");// }// System.out.print("\n");// System.out.println("排序后");// qs.quickSort(shuzu,0,SIZE-1);// for(i=0;i<SIZE;i++){// System.out.print(shuzu[i]+" ");// }// System.out.print("\n"); }}
阅读全文
0 0
- java常用算法之快速排序详解
- Java常用排序算法之快速排序
- JAVA常用排序算法之快速排序
- Java常用算法之快速排序
- 常用算法之-快速排序
- 常用算法之快速排序
- 常用排序算法之快速排序算法
- 【算法】常用算法之快速排序算法
- 算法之快速排序 详解!
- 算法之快速排序详解
- 快速排序算法Java详解
- 常用排序算法之快速排序
- 常用排序算法之快速排序
- 常用排序算法之快速排序
- 常用排序算法之快速排序
- 常用排序算法之快速排序
- 常用排序算法之快速排序
- 排序算法之快速排序详解
- The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.
- mysql 操作数据库(备份与恢复)
- Spark学习笔记(整理中)
- 官方Xcode及模拟器SDK下载
- 用js打印菱形
- java常用算法之快速排序详解
- Java反射机制理解
- ionic 页面跳转动画
- 如何在WebStorm中设置边改边查模式
- Java课程学习五:编程题
- 各种排序算法集锦
- MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
- Mysql基础
- Linux的system()和popen()差异