快速排序法又叫二分法排序:

import java.util.Random;public class Quicksort {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr =new int[100];Random rand=new Random();for (int i = 0; i < arr.length; i++) {arr[i]=rand.nextInt(500); //定义  [0,500)之内的随机数  }quickSort(arr, 0, arr.length-1);for(int i = 0;i<arr.length;i++){if (i==0) {System.out.print("快速排序   圣墟:  [ "+arr[i]+",");}else if (i==arr.length-1) {System.out.print(arr[i]+" ]");System.out.println();}else {System.out.print(arr[i]+",");}}}public static void quickSort(int[] arr,int low,int high){int i,j,temp,t;if(low>high){return;}i=low;j=high;//temp就是基准位temp = arr[low];while (i<j) {//先看右边,依次往左递减while (temp>=arr[j]&&i<j) {j--;}//再看左边,依次往右递增while (temp<=arr[i]&&i<j) {i++;}//如果满足条件则交换if (i<j) {t = arr[j];arr[j] = arr[i];arr[i] = t;}}//最后将基准为与i和j相等位置的数字交换arr[low] = arr[i];arr[i] = temp;//递归调用左半数组quickSort(arr, low, j-1);//递归调用右半数组quickSort(arr, j+1, high);}
}

快速排序法 Java实现相关推荐

  1. java 数据结构与算法 ——快速排序法

    快速排序法: 顾名思议,快速排序法是实践中的一种快速的排序算法,在c++或对java基本类型的排序中特别有用.它的平均运行时间是0(N log N).该算法之所以特别快,主要是由于非常精练和高度优化的 ...

  2. Java 实现快速排序法对数组进行排序

     快速排序是对冒泡排序的一种改进,其排序速度相对较快. 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据要小,然后再按照这个方法对这两部分数据分别 ...

  3. 【重温基础算法】内部排序之快速排序法

    内部排序之快速排序法 文章目录 内部排序之快速排序法 主要思想 过程演示 JAVA代码 算法分析 时间复杂度分析 最好时间复杂度 最坏时间复杂度 平均时间复杂度 空间复杂度 对冒泡排序的一种优化 主要 ...

  4. 经典算法之快速排序法(附B站最细讲解视频)

    活动地址:21天学习挑战赛 文章目录 一.算法 1.算法概述 2.算法步骤 3.算法特点 二.算法实践 1.Java代码 2.执行结果 3.讲解视频 三.复杂度分析 1.时间复杂度 2.空间复杂度 一 ...

  5. 快速排序之Java实现

    快速排序之Java实现 代码: 1 package cn.com.zfc.lesson21.sort; 2 3 /** 4 * 5 * @title QuickSort 6 * @describe 快 ...

  6. 1.16 快速排序法(Quicksort)

    快速排序(Quicksort)是对冒泡排序的一种改进,是一种排序执行效率很高的排序算法. 快速排序的基本思想是:通过一趟排序,将要排序的数据分隔成独立的两部分,其中一部分的所有数据比另外一部分的所有数 ...

  7. 探索初级算法学习笔记-快速排序法

    快速排序法学习笔记 #include<stdio.h>void swap(int *a,int *b) {int t;t=*a;*a=*b;*b=t; }void quickSort(in ...

  8. 快速排序算法 java 实现

    快速排序算法 java 实现 快速排序算法Java实现 白话经典算法系列之六 快速排序 快速搞定 各种排序算法的分析及java实现 算法概念 快速排序是C.R.A.Hoare于1962年提出的一种划分 ...

  9. php四种基础算法:冒泡,选择,插入和快速排序法

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一个初级phper,虽然很少接触到算法方面的东西 .但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要 ...

最新文章

  1. Attention跟一维卷积有什么区别?
  2. Leangoo看板工具可以很好的管理我们的销售
  3. 交互式讲解傅里叶变换
  4. tensorflow 无法执行sess =tf .session ()_深度学习|费解的tensorflow
  5. Linux系统软件信息内核,系统,目录,防火墙等
  6. ITK:提取矢量图像的分量/通道
  7. 文献记录(part88)--Robust clustering using a kNN mode seeking ensemble
  8. Qt工作笔记-QTreeWidget顺序查找包含内容的字符串
  9. mysql存储过程 等于_mysql存储过程字符串等于
  10. linux内核驱动之 用户空间和内核空间
  11. hive查询where join_Hive解析流程-抽象语法树生成
  12. 自定义session,cookie
  13. opencv之绘制带箭头的线段---arrowedLine
  14. [C#][SAMPLE][CODE][Control]RadioBox、CheckBox和Validating事件的相关处理
  15. 序列化和反序列化(七)——Java对象的网络传输(二)
  16. Linux驱动开发: USB驱动开发
  17. Python图像处理丨认识图像锐化和边缘提取的4个算子
  18. MPAndroidChart 3.0——BarChart(一)
  19. ORACLE 10g命令大全
  20. 爬虫问题小记 --- UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 25703: illegal

热门文章

  1. 二叉树遍历算法之一:前序遍历
  2. 软件之“工场技术”(下)
  3. 测试用例设计方法与用例编写规范
  4. 2021-07-13王汕7.13黄金原油伦敦金晚间价格走势分析及白银TD短线操作建议
  5. JSP和js(JavaScript )区别
  6. FPGA——study1_testbench激励
  7. 【休闲益智】【HTML】我的数独我做主
  8. happens-before简介
  9. TCP/IP RFC如何查询
  10. linux下防火墙配置