java中位数_JAVA中位数排序
package quickSort;
public class QuickSort {
private static int count;
/**
* 测试
* @param args
*/
public static void main(String[] args) {
int[] num = {3,45,78,64,52,11,64,55,99,11,18};
System.out.println(arrayToString(num,"未排序"));
QuickSort(num,0,num.length-1);
System.out.println(arrayToString(num,"排序"));
System.out.println("数组个数:"+num.length);
System.out.println("循环次数:"+count);
}
/**
* 快速排序
* @param num排序的数组
* @param left数组的前针
* @param right 数组后针
*/
private static void QuickSort(int[] num, int left, int right) {
//如果left等于right,即数组只有一个元素,直接返回
if(left>=right) {
return;
}
//设置最左边的元素为基准值
int key=num[left];
//数组中比key小的放在左边,比key大的放在右边,key值下标为i
int i=left;
int j=right;
while(i
//j向左移,直到遇到比key小的值
while(num[j]>=key && i
j--;
}
//i向右移,直到遇到比key大的值
while(num[i]<=key && i
i++;
}
//i和j指向的元素交换
if(i
int temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
num[left]=num[i];
num[i]=key;
count++;
QuickSort(num,left,i-1);
QuickSort(num,i+1,right);
}
/**
* 将一个int类型数组转化为字符串
* @param arr
* @param flag
* @return
*/
private static String arrayToString(int[] arr,String flag) {
String str = "数组为("+flag+"):";
for(int a : arr) {
str += a + "\t";
}
return str;
}
java中位数_JAVA中位数排序相关推荐
- 希尔排序java写法_java高级排序之希尔排序
希尔排序对于多达几千个数据项的,中等大小规模的数组排序表现良好,希尔排序不像快速排序和其它时间复杂度为o(n*logn)的排序算法那么快,因此,对非常大的文件排序,它不是最优选择,但是希尔排序比选择排 ...
- java中位数_java 计算中位数方法
最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...
- java中求中位数_java 计算中位数的实现方法
最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...
- 希尔排序基础java代码_java 算法之希尔排序详解及实现代码
摘要:这篇Java开发技术栏目下的"java 算法之希尔排序详解及实现代码",介绍的技术点是"希尔排序详解.实现代码.希尔排序.Java.实现.代码",希望对大 ...
- java解码_Java数组已排序解码
java解码 排序是我们在计算机科学中学习的第一个算法. 排序是一个非常有趣的领域,它有大约20多种算法,而且总是很难确定哪种算法最好. 排序算法的效率是根据占用的时间和所需的空间来衡量的. 一些时间 ...
- java集合根据值排序_Java 8:对集合中的值进行排序
java集合根据值排序 意识到Java 8将在接下来的几周内发布其GA版本之后,我认为现在是时候来看看它了,在过去的一周里,我一直在阅读Venkat Subramaniam的书 . 我要讲的是第3章, ...
- java冒泡排序_Java专题(二):Java中常见的排序算法有哪些?---冒泡排序
排序相关的的基本概念排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域,即多个数据成员 ...
- java map按照key排序_java Map排序(按key和按value)
1.按照key排序 对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲. 这种方案,使用h ...
- BFPRT 算法 (TOP-K 问题)——本质就是在利用分组中位数的中位数来找到较快排更合适的pivot元素...
先说快排最坏情况下的时间复杂度为n^2. 正常情况: 最坏的情况下,待排序的记录序列正序或逆序,每次划分只能得到一个比上一次划分少一个记录的子序列,(另一个子序列为空).此时,必须经过n-1次递归调用 ...
最新文章
- 每天一个linux命令(20):find命令之exec
- SCNCHECKPOINT
- Django REST framework+Vue 打造生鲜超市(六)
- Flutter之运行提示Could not update files on device: Connection closed before full header was received
- torchtext 各种数据集加载
- python如何保存计算数据_python如何将客户的数据一直保存
- Audio播放流程(二)---NuPlayer流程之setDataSource
- 计算机课用什么做课件,电脑做ppt用什么软件
- 中国游戏2022趋势报告:6大潜力领域4大发展趋势 多家企业分析
- 软考中级软件设计师教程(第5版)知识点笔记第一章计算机系统知识持续更新中...
- GP数据库-Creenplum
- 推荐几个在线SQL编程的网站,良心!
- 动手学TCP——CS144实验感想
- 西门子scl语言和c语言,在西门子PLC中使用SCL语言编程的技巧
- python软件操作步骤_python+pywinauto C/S架构软件基本操作
- 【公众号】JAVA微信公众号技术大佬文章精选
- Android中添加商品的购物车
- pyecharts官网
- Pycharm中怎么给字典中的多个键-值对同时加上单引号
- 一张图助你快速记忆CSS所有属性
热门文章
- 混淆矩阵(confusion matrix)是什么?以及能从混淆矩阵中衍生出来的指标FPR、TPR、FDR、ACC、PPV、NPV分别是什么?对应的概念及公式是什么?
- pip国内常用源及配置方式
- python读写二进制文件(读写字节数据)
- 密度聚类、密度聚类过程、OPTICS算法
- 实体识别+entity resolution
- java生成sql语句_java生成SQL语句
- 记忆网络RNN、LSTM与GRU
- Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
- python 调用函数内部参数
- 如何改变anaconda 的 gcc 版本?