
java算法
zzuhai
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序
快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,如果有比基准值大的,交换位置,如果没有继续比较下一个,直到找到第一个...原创 2019-07-29 15:08:29 · 191 阅读 · 0 评论 -
插入排序
原理:从第二个数开始(i=1)循环作为插入的数,和前一个数(index=i-1)进行比较,如果前一个数小于插入的数,则插入数插入index+1位置,如果前一个数大于插入的数,给index+1位置赋值上index位置的数,index–,来循环比较前面的数,直到前一个数(index)小于插入的数,插入数插入index+1位置代码public void insertSort(int arr[]) ...原创 2019-07-29 15:38:34 · 116 阅读 · 0 评论 -
没有bug的二分查找
今天看了几篇关于二分查找的文章知道了很多坑,在此记录一下,具体分析下次再来补充上以下是正确的代码public static int binarySearch(int arr[],int value){ int l = 0,r = arr.length; while(l<=r){ int mid = l+(r-l)/2; if(arr[mi...原创 2019-04-01 23:25:50 · 212 阅读 · 0 评论 -
冒泡排序
原理(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1 个位置。(3)N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。代码public static void bubbleSort(int[] a) { int i, j; for (i =...原创 2019-07-29 16:08:58 · 124 阅读 · 0 评论