手写排序算法 面试
手写排序算法 面试
weixin_54311815
这个作者很懒,什么都没留下…
展开
-
面试 手写排序算法之基数排序
/** * 基数排序(桶) * @param arr */ public static void radixSort(int arr []){ int max = Integer.MIN_VALUE; for (int i = 0; i < arr.length; i++) { max = Math.max(max,arr[i]); //得到数组中最大元素的值 } for...原创 2021-06-06 13:25:41 · 67 阅读 · 0 评论 -
面试 手写排序算法之计数排序
/** *(计数排序) * @param arr */ public static void countSort(int arr []){ if(arr == null ||arr.length < 2){ //排序数组长度限制 return ; } int max = Integer.MIN_VALUE; //获得int 类型中最小的数 for (int i = 0...原创 2021-06-06 13:24:34 · 60 阅读 · 0 评论 -
面试 手写排序算法之希尔排序
public static void shellSort(int arr []) { int gap = arr.length/2; //gap 为增量 while(gap >= 1){ shellInsertSort(arr,gap); gap = gap/2; } System.out.println(Arrays.toString(arr)); } private ..原创 2021-06-06 13:20:10 · 87 阅读 · 0 评论 -
面试 手写排序算法之直接插入排序
/** * 插入排序 * @param arr */ public void insertSort(int arr []){ for (int i = 1; i <arr.length ; i++) { int insertVal = arr[i]; // 插入的数 int index = i-1; //被插入的位置 while(index >=...原创 2021-06-06 13:18:29 · 87 阅读 · 0 评论 -
面试 手写排序算法之选择排序
/** * (简单选择排序) * @param arr 需要排序的数组 * @return 排序完毕的数组 */ public int [] chooseSort(int arr []){ if(arr.length>1){ int min; for (int i = 0; i < arr.length-1; i++) { min = i; ..原创 2021-06-06 13:16:43 · 83 阅读 · 0 评论 -
面试 手写排序算法之快速排序
/*** * (快速排序) * arr 需要排序的数组 * low 0 * high arr.length-1 */public class ListTest { public void sort(int arr [],int low ,int high){ int start = low; int end = high; int key = arr[low]; while (start < end){ ..原创 2021-06-06 13:14:40 · 61 阅读 · 0 评论 -
面试 手写排序算法之冒泡排序(外加优化版)
/** * (冒泡排序正宗) * @param arr 需要冒泡排序的数组 * @return 排序后的数组 */ public int [] maoPaoPaixu(int arr []){ int num; if(arr!=null){ for(int i = 0;i < arr.length-1;i++){ //i从前往后循环 f...原创 2021-06-06 13:11:11 · 88 阅读 · 3 评论