- 博客(7)
- 收藏
- 关注
原创 面试 手写排序算法之基数排序
/** * 基数排序(桶) * @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
原创 面试 手写排序算法之计数排序
/** *(计数排序) * @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 62
原创 面试 手写排序算法之希尔排序
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 88
原创 面试 手写排序算法之直接插入排序
/** * 插入排序 * @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 88
原创 面试 手写排序算法之选择排序
/** * (简单选择排序) * @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 85
原创 面试 手写排序算法之快速排序
/*** * (快速排序) * 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
原创 面试 手写排序算法之冒泡排序(外加优化版)
/** * (冒泡排序正宗) * @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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人