
排序
逆流的小白
开始的努力,是为了以后的毫不费力。
展开
-
树状排序一
最近一直在研究树状结构,谢了一个简单的排序法。话不多说,上代码。package com.util.sort;import java.util.HashMap;import java.util.Map;import com.util.DrlUtil;public class TreeSort { /** * 数组树状排序 * @param arr * @return...原创 2018-11-07 11:15:32 · 268 阅读 · 0 评论 -
冒泡排序法、选择排序法、插入排序法
一贯作风,不说废话,代码走起各排序法: /** * 冒泡排序 * @param arr 需排序的数组 */ public void bubbleSort(int[] arr) { int temp; //排序的次数 for(int i=1;i<arr.length;i++) { //将0到arr.length-i之间的最大值,移动到arr.length-i...原创 2018-11-22 11:14:22 · 469 阅读 · 1 评论 -
SHELL排序
希尔排序:相当于效率更高的插入排序(先进行预排序,确定大致顺序,后进行插入排序),可以参考前文插入排序法代码/** * * 希尔排序:相当于效率更高的插入排序(先进行预排序,确定大致顺序,后进行插入排序) * @param arr 需排序的数组 */ public void shellSort(int[] arr) { int r,temp; int i,j; ...原创 2018-11-22 13:25:41 · 170 阅读 · 0 评论 -
快速排序法
/** * 快速排序法 * @param arr 需排序的数组 */ public void quickSort(int[] arr,int left,int right) { //设置临时的左右下标 int rtemp=right,ltemp=left; //以中间位置为分界值, int middle=(left+right)/2; int f=arr[mid...原创 2018-11-22 15:39:08 · 166 阅读 · 0 评论 -
以一边为基数的快速排序法
经实测,数据量大时,容易会溢出。 private void quickSort3(int[] arr, int left, int right) { if(left<right){ int middle = getMiddle(arr,left,right);//实际的排序流程 //利用分治法的思想对数组进行递归。 quickSort3(arr, left, midd...原创 2018-11-22 17:13:10 · 308 阅读 · 1 评论 -
堆序排序
堆序排序:注:代码在最后1、将原始数据构成完全二叉树如67、65、77、38、97、3、33的数组2、对最后一个非叶节点4筛运算(非叶节点:后面没有子节点,图中1、2、3、4为非叶节点)3、对倒数第二个非叶节点3筛运算、对倒数第三个非叶节点2筛运算……直至根节点至此,堆结构构造完成。堆序输出1、根据堆结构的特点,根节点最大,我们从小到大排序,因此将根节点放到数组最后,也就是...原创 2018-11-23 09:51:14 · 263 阅读 · 0 评论