![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
文章平均质量分 56
maybe__god
唯有那些看了很多书,又在看完之后通过自己的语言把书中的知识讲述出来、写下来的人,才真有长进。为什么要写?因为只有你表达了自己的看法,别人才能给你反馈,你才能通过反馈知道自己哪儿是对的、哪儿是错的,才能有所改善。从不表达自己的人,看再多书、刷再多博客也是没什么长进的。
展开
-
初级排序算法(二)
1. 选择排序的递归实现 public static void chooseSortRecursion(int[] arr) { recursion(arr, 0); } public static void recursion(int[] arr, int index) { int N = arr.length; if (index >= N - 1) return;原创 2017-09-24 16:23:46 · 224 阅读 · 0 评论 -
快速排序
快速排序的思路是:在数组中找到一个元素,保证这个个元素的左边都小于这个元素,右边大于这个元素,这个操作称为切分,那个元素称为“切分元素”。每次切分数组,保证“切分元素“”右边的元素总是大于“切分元素”,“切分元素”左边的元素总是小于“切分元素”。那么,这个“切分元素”的最终位置便确定了,在其左右的两个子数组的切分过程中,它不再参与。(但是不能保证切分元素在数组的中央位置)publi原创 2017-09-20 19:27:52 · 177 阅读 · 0 评论 -
初级排序算法(选择、插入、Shell)(一)
1.选择排序每次从未排序的元素中选择一个最小的,与未排序的第一个元素交换位置。public static void selectSort(int[] a) { int N = a.length; for (int i = 0; i < N; i++) {//外循环从0到N-1,每次确定一个位置上应该放的元素 int min = i; for (int j = i + 1; j < N;原创 2017-09-20 08:35:35 · 277 阅读 · 0 评论