![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 75
keetron
这个作者很懒,什么都没留下…
展开
-
插入排序
定义:将每一个元素插入到已经有序的适当位置,在适当位置右边的所有元素都要向右移动一位。这种算法叫做插入排序。代码:public class Insertion{ public static void sort(Comparable[] a){ int N = a.length; for(int i = 1; i < N; i++){原创 2015-07-14 16:36:42 · 347 阅读 · 0 评论 -
希尔排序
定义:基于插入排序的快速的排序算法。对于大规模乱序数组来说,插入排序很慢。因为它只会交换相邻的元素,因此元素只能一点一点地从数组的一端移动到另一端。希尔排序则是交换不相邻的元素以对数组的局部进行排序,并最终用插入排序将局部有序的数组排序。代码:public class Shell{ public static void sort(Comparable[] a){原创 2015-07-14 16:27:59 · 339 阅读 · 0 评论 -
选择排序
定义:首先,找到数组中最小的元素,接着,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素就和自己交换);再接着,在剩下的元素中找到最小的元素,将它与第二个元素交换。如此往复。因为不断地选择剩余元素的最小者,故称选择排序代码:public class Selection{ public static void sort(Comparable[] a){原创 2015-07-14 16:38:31 · 272 阅读 · 0 评论 -
快速排序
定义:快速排序是一种分治的排序算法。选取数组中任意一个元素,将一个数组分成两个子数组,这两个子数组分别都比所选取元素小和大,然后将两部分独立地排序。原创 2015-08-04 10:59:37 · 293 阅读 · 0 评论