![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Munt
这个作者很懒,什么都没留下…
展开
-
10基数排序
基数排序1 算法步骤 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零 从最低位开始,依次进行一次排序 从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列 1//Java代码实现2publicclassRadixSortimplementsIArraySort{34@Override5publicint[]sort(int[]sourceArray)throwsException{6...原创 2020-10-31 11:30:28 · 173 阅读 · 0 评论 -
09桶排序
桶排序1 算法步骤 设置固定数量的空桶。 把数据放到对应的桶中。 对每个不为空的桶中数据进行排序。 拼接不为空的桶中数据,得到结果 1//Java代码实现2publicclassBucketSortimplementsIArraySort{34privatestaticfinalInsertSortinsertSort=newInsertSort();56@Override7publicint...原创 2020-10-31 11:27:49 · 70 阅读 · 0 评论 -
08计数排序
计数排序8.1 算法步骤 花O(n)的时间扫描一下整个序列 A,获取最小值 min 和最大值 max 开辟一块新的空间创建新的数组 B,长度为 ( max - min + 1) 数组 B 中 index 的元素记录的值是 A 中某元素出现的次数 最后输出目标整数序列,具体的逻辑是遍历数组 B,输出相应元素以及对应的个数 1//Java代码实现2publicclassCountingSortimplementsIArraySort{34@O...转载 2020-10-31 11:18:42 · 67 阅读 · 0 评论 -
07归并排序算法(Java)
/*** 归并排序算法*/import java.util.Arrays;public class MergerSort { private static void sort(int[] array, int start, int end) { if (start >= end) return; int mid = (start + end) >> 1; // 递归实现归并排序 ...转载 2020-10-28 09:26:40 · 61 阅读 · 0 评论 -
06堆排序(Java)
import java.util.Arrays;public class HeapSort { public static void main(String []args){ int []arr = {7,6,7,11,5,12,3,0,1}; System.out.println("排序前:"+Arrays.toString(arr)); sort(arr); System.out.println("排序前:"+Arrays.t.转载 2020-10-27 09:48:09 · 88 阅读 · 0 评论 -
05选择排序(Java)
//选择排序public class SelectionSort { public static void main(String[] args) { int[] arr={1,3,2,45,65,33,12}; System.out.println("交换之前:"); for(int num:arr){ System.out.print(num+" "); } //选择排序的.原创 2020-10-27 09:45:18 · 156 阅读 · 0 评论 -
04希尔排序(Java)
/** * 希尔排序 * @param arr 待排数组 */ public static void shellSort(int[] arr) { for(int gap=arr.length/2; gap>0; gap/=2) { /*步长逐渐减小*/ for(int i=gap; i<arr.length; i++) { /*在同一步长内*/ //同一步长内排序方式是插入排序 int temp = arr[i], j; //待排元素 /...原创 2020-10-27 09:43:58 · 90 阅读 · 0 评论 -
03插入排序(Java)
public static int[] sort2(int[] ins){ for(int i=1; i<ins.length; i++){ int temp = ins[i];//保存每次需要插入的那个数 int j; for(j=i; j>0&&ins[j-1]>temp; j--){//这个较上面有一定的优化 ins[j] = ins[j-1];//把大于需要插入的数往后移动。最后不大于temp的数就空出来j } ins[j.原创 2020-10-27 09:42:14 · 51 阅读 · 0 评论 -
02冒泡排序(Java)
public class Sort { public static void main(String args[]){ int array[] = { 5, 4, 3, 2, 1}; bubbleSort(array); for(int i : array) { System.out.print(i+" "); } } private static void bubbleSort(...原创 2020-10-27 09:40:41 · 70 阅读 · 0 评论 -
01快速排序 (Java)
Problem Description #给你N(N<=100)个数,请你按照从小到大的顺序输出。Input #输入数据第一行是一个正整数N,第二行有N个整数。Output #输出一行,从小到大输出这N个数,中间用空格隔开。Sample Input 5 1 4 3 2 5Sample Output 1 2 3 4 5public class Main { public static void main(String[] args) { .原创 2020-10-27 09:38:56 · 315 阅读 · 0 评论