![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
LPF_FORFREE
积跬步,至千里;积小流,成江海;登高山,知天之高;临深溪,知地之厚。
展开
-
冒泡排序
冒泡排序过程:比较相邻的两个元素,较小的数冒起来,较大的数下沉 (以升序为例) 复杂:n*n 代码实现:public static int[] BubbleSort(int[] arr){ int temp;// 做临时变量用 int len = arr.length; for(int i = 0; i < len; i++){ for(int j = l原创 2017-02-25 16:33:39 · 398 阅读 · 0 评论 -
选择排序
选择排序过程:(以升序为例)遍历长度为N的数组,找到最小的数,并且与第一个数交换位置,然后遍历排好序之外的数找到最小的数与第二个数交换位置,依次类推,直到完成. 说白了就是固定位置,找元素 复杂:n*npublic static int[] selectSort(int[] arr){ int len = arr.length; for(int i = 0; i < len; i+原创 2017-02-25 17:09:13 · 355 阅读 · 0 评论 -
插入排序
插入排序过程:假定数组的前n-1个数已经排好序,将第n个数插入到前面的有序数列中,使得这n个数都是排好序的,重复这个过程直到排序完成。这个与选择排序有点相似,固定元素找位置。 复杂:n*npublic static int[] insertSort(int[] arr) { int temp; int len = arr.length; for(int i = 0; i <原创 2017-02-27 10:59:04 · 337 阅读 · 0 评论 -
希尔排序
希尔排序过程:把数组根据某一增量分为若干子序列,对子序列分别进行插入排序。然后逐步将增量减小重复上述过程,直至增量为1,此时数组进本有序,最后执行插入排序。public static void shellSort(int[] arr) { int temp; int len = arr.length; int increate = len; while(true) {原创 2017-02-27 13:08:47 · 326 阅读 · 0 评论