![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法java
王佳Gre
hi
展开
-
试题 历届真题 时间显示【第十二届】【省赛】【B组】
import java.util.Scanner;public class teste { public static void main(String[] args) { Scanner scan= new Scanner(System.in); long n=scan.nextLong(); n/=1000; //只要最后一天 n%=(24*60*60); long h=n/3600;原创 2022-03-11 00:36:19 · 235 阅读 · 0 评论 -
快速排序java
思想:将一个数组分成两个子数组,将两部分独立排序快速排序public class Quick{ public static void sort(Comparable[] a) { StdRandom.shuffle(a); sort(a,0,a.length-1); } private static void sort(Comparable[] a,int lo,int hi) { if(hi<=lo) return ; int j=partition(a,lo.原创 2020-06-13 15:12:43 · 146 阅读 · 0 评论 -
归并排序java
思想:将两个有序的数组归并到一个更大的有序数组自顶向下排序public class Merge{ private static Comparable[] aux;//归并需要的辅助数组 public static void sort(Comparable[] a) { aux=new Comparable[a.length]; sort(a,0,a.length-1); private static void sort(Comparable[] a,int lo,int hi)原创 2020-06-13 14:39:28 · 95 阅读 · 0 评论 -
希尔排序java
基本思想:希尔排序的基本思想是:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身还是使用数组进行排序。public class Shell{ public static void sort(Comparable[] a) { int N=a.length; int h=1; while(h<N/3) h=3*h+1; while(h>=1.原创 2020-06-12 22:53:45 · 113 阅读 · 0 评论 -
选择排序-java
算法思想:首先,找到数组中最小的元素,再将他和数组的第一个元素交换(如果第一个元素就是最小的那就和自己交换),再在剩下的元素中找到最小的那个,与第二个元素交换,如此反复,直至最后一个元素找不到最小的元素(即自己就是最小的元素)。选择排序的内循环只是比较当前与目前已知最小元素,外循环比较交换元素特点:1.运行时间与输入无关:一个已经有序的序列和无序的序列运行时间是相等的2.数据移动最少:每次只交换两个元素的值public class Selection{ public static void.原创 2020-06-12 21:59:24 · 96 阅读 · 0 评论