算法
Munt
这个作者很懒,什么都没留下…
展开
-
10基数排序
基数排序 1 算法步骤 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零 从最低位开始,依次进行一次排序 从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列 1//Java代码实现 2publicclassRadixSortimplementsIArraySort{ 3 4@Override 5publicint[]sort(int[]sourceArray)throwsException{ 6...原创 2020-10-31 11:30:28 · 201 阅读 · 0 评论 -
09桶排序
桶排序 1 算法步骤 设置固定数量的空桶。 把数据放到对应的桶中。 对每个不为空的桶中数据进行排序。 拼接不为空的桶中数据,得到结果 1//Java代码实现 2publicclassBucketSortimplementsIArraySort{ 3 4privatestaticfinalInsertSortinsertSort=newInsertSort(); 5 6@Override 7publicint...原创 2020-10-31 11:27:49 · 75 阅读 · 0 评论 -
08计数排序
计数排序 8.1 算法步骤 花O(n)的时间扫描一下整个序列 A,获取最小值 min 和最大值 max 开辟一块新的空间创建新的数组 B,长度为 ( max - min + 1) 数组 B 中 index 的元素记录的值是 A 中某元素出现的次数 最后输出目标整数序列,具体的逻辑是遍历数组 B,输出相应元素以及对应的个数 1//Java代码实现 2publicclassCountingSortimplementsIArraySort{ 3 4@O...转载 2020-10-31 11:18:42 · 77 阅读 · 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 · 63 阅读 · 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 · 110 阅读 · 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 · 181 阅读 · 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 · 94 阅读 · 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 · 56 阅读 · 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 · 75 阅读 · 0 评论 -
01快速排序 (Java)
Problem Description #给你N(N<=100)个数,请你按照从小到大的顺序输出。 Input #输入数据第一行是一个正整数N,第二行有N个整数。 Output #输出一行,从小到大输出这N个数,中间用空格隔开。 Sample Input 5 1 4 3 2 5 Sample Output 1 2 3 4 5 public class Main { public static void main(String[] args) { .原创 2020-10-27 09:38:56 · 341 阅读 · 0 评论