202111-16 java版十大排序经典算法:完整代码(4) 目录计数排序完整代码:桶排序完整代码:基数排序完整代码:完整测试类总结计数排序简单解释:这个排序算法看名字也很好理解,就是就是额外找个数组来计数,然后在这个数组从小到大或从大到小把数取出来即可。完整代码:packagecom.keafmd.Sequence;/***Keafmd**@ClassName:CountSort*@Description:计数排序*@author:牛哄哄的柯南*@date:2021-06-2411:31*/publicclassCountSort{publicstaticvoidcount... 继续阅读 >
202111-16 java版十大排序经典算法:完整代码(3) 目录归并排序完整代码:插入排序完整代码:希尔排序完整代码:总结归并排序简单解释:该算法是采用分治法,把数组不断分割,直至成为单个元素,然后比较再合并(合并的过程就是两部分分别从头开始比较,取出最小或最大元素的放到新的区域内,继续取两部分中最大或最小的元素,直到这两部分合并完,最后所有的都合并完,最后形成完整的有序序列)完整代码:packagecom.keafmd.Sequence;/***Keafmd**@ClassName:MergeSort*@... 继续阅读 >
202111-16 java版十大排序经典算法:完整代码(2) 目录快速排序完整代码:直接选择排序完整代码:堆排序完整代码:总结快速排序简单解释:快速排序就是每次找一个基点(第一个元素),然后两个哨兵,一个从最前面往后走,一个从最后面往前面走,如果后面那个哨兵找到了一个比基点大的数停下来,前面那个哨兵找到比基点大的数停下来,然后交换两个哨兵找到的数,如果找不到最后两个哨兵就会碰到一起就结束,最后交换基点和哨兵相遇的地方的元素,然后就将一个序列分为比基点小的一部... 继续阅读 >
202111-16 java版十大排序经典算法:完整代码 目录十大排序算法对比冒泡排序完整代码:测试代码:运行结果:快速排序完整代码:总结十大排序算法对比关于最后一列的稳定性,我稍微解释下,例如对序列:12426排序,序列中存在两个2,如果我们把这两个2标记上(让他俩不同),排序之后,前面的2还在前面,那么就称这种排序是稳定的,反之不稳定。冒泡排序简单解释:原理就如算法名字一样,就像水中的气泡一样,每次我都把最大的或最小的放到最后面,这样总共需要n-1趟即可... 继续阅读 >
202110-12 java冒泡排序和选择排序详解 目录1、冒泡排序2、选择排序法总结1、冒泡排序冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序。图解冒泡排序算法的过程原始数组:3,9,-1,10,20第一趟排序(1)3,9,-1,... 继续阅读 >
202108-23 Java内存模型之重排序的相关知识总结 目录一、数据依赖性二、as-if-serial语义三、程序顺序规则四、重排序对多线程的影响一、数据依赖性如果两个操作访问同一个变量,而且这两个操作中有一个操作为写操作,此时这两个操作之间存在数据依赖性。数据依赖性分为三种,如表所示:名称代码示例说明写后读a=1;b=a;写一个变量后,再读这个位置... 继续阅读 >
202103-02 Java算法之数组冒泡排序代码实例讲解 冒泡排序是数组查找算法中最为简单的算法冒泡排序原理:假设一个数组长度为k(最高索引k-1),遍历前k-1个(最高索引k-2)元素,若数组中的元素a[i]都与相邻的下一个元素a[i+1]进行比较,若a[i]>a[i+1],则这两个元素交换位置。以此类推,若a[i+1]>a[i+2],则交换位置…直至a[k-2]与a[k-1]比较完毕后,第0轮迭代结束。此时,a[k-1]为数组元素中的最大值。第1轮迭代,再对数组a的前k-1个元素重复进行以上操作。…第k-2轮迭代,对... 继续阅读 >
202010-08 Java简单冒泡排序示例解析 冒泡排序:从小到大排序:packagecom.etime.test019;importjava.util.Arrays;publicclassTest13{publicstaticvoidmain(String[]args){int[]array={6,1,2,3,8,5,4,9,7};intlen=array.length;System.out.println("排序前的数组为:"+Arrays.toString(array));inttemp=0;for(inti=0;i<len-1;i++){for(intj=0;j<len-1-i;j++){if(array[j]>array[j+1]){... 继续阅读 >
202010-08 Java使用Collections.sort()排序的示例详解 Java中Collections.sort()排序详解,通过实例代码给大家讲解,具体代码如下所示;publicstaticvoidmain(String[]args){List<String>list=newArrayList<String>();list.add("beijing");list.add("shanghai");list.add("hangzhou");Collections.sort(list,newComparator<String>(){publicintcompare(Stringstr1,Stringstr2){/***升序排的话就是第一个参... 继续阅读 >