摘要:
一、算法原理 基于分治的思想,是冒泡排序的改进型。首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率,后面讲解选取的方法),然后分别从数组的两端扫描数组,设两个指示标志(low指向起始位置,high指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换low和high位 阅读全文
摘要:
冒泡、插入、选择排序的时间复杂度为O(n2) Arrays.sort()时间复杂度为nlgn 具体算法实现代码: 控制台输出: 阅读全文
摘要:
Java工具包中的Arrays工具类里面有数组的快速排序算法。 源码如下: java.util.Arrays类能方便的操作数组,它所有的方法都是静态的。 1.filll方法 :给数组中的某段元素附上相同值。 2.sort方法:对数组中某段元素排序。 3.equals方法:比较两个数组,判断的是数组中 阅读全文
摘要:
一、算法原理 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n-1]中选出最小的数据,将它与arrr[0]交换;第2趟,在待排序数据arr[2]~arr[n-1]中选出最小的数据,将它与r[1]交换;以此类推,第i趟在待排序数据 阅读全文
摘要:
一、算法原理 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤 阅读全文