随笔分类 - 算法
摘要:public static void main(String[] args) { int[] arr = {9, 5, 7, 3, 1, 6, 8, 4, 2}; quickSort(arr,0,arr.length - 1); } private static void quickSort(int
阅读全文
摘要:public static void main(String[] args) { int[] arr = {9, 6, 8, 4, 2, 5, 7, 3, 1}; int[] arr2 = {9, 6, 8, 4, 2, 5, 7, 3, 1}; shellSort(arr); System.out
阅读全文
摘要:public static void main(String[] args) { int[] arr = {9, 5, 7, 3, 1, 6, 8, 4, 2}; mergeSort(arr,0,arr.length - 1); } /** * 归并排序 * 注意:归并的拆分数组和合并数组是从左到右
阅读全文
摘要:/** *在二分查找的基础上,进行查找,也需要数组是有序的 *插值查找最核心的就是一个公式,也是为了提高二分查找的效率提出的, *int mid=left+(right-left)*(findVal-arr[left])/(arr[right]-arr[left]) */ public static
阅读全文
摘要:/** *二分查找:要求数组必须是有序的,也就是从小到大或者从大到小 * */ public static void main(String[] args){ int[] arr={1,2,5,6,18,19,29}; int findIndex=binarySearch(arr,0,arr.len
阅读全文
摘要:/** *只找一个值 */ public static void main(String[] args){ int[] arr={12,23,56,12,}; searchVal(arr,56); } //最简单的一种查找方式 public static int searchVal(int[] ar
阅读全文
摘要:public static void main(String[] args){ int[] arr={12,48,2,1,34,56}; selectSort(arr); } /** *相当于两个数组, *只不过长度不同,一个是i到arr.length *一个是i+1到arr.length */ p
阅读全文
摘要:1 public static void main(String[] args){ 2 int[] arr={12,34,2,1,5}; 3 } 4 public static void maoPao(int[] arr){ 5 //外层循环控制排序趟数 6 //这里为什么要减1?因为数组的leng
阅读全文