Java排序,据说有八大排序,小编这次系列博客可能讲不了全部,我将自己理解比较到位的几个排序,和大家分享一下吧。今天来说一说冒泡排序,其实冒泡排序属于交换排序的一种,冒泡排序是最经典的交换排序,它的算法思想是:(假设数据存放在数组a[n]中)
1.比较a[0]和a[1],如果a[0]>a[1],则交换a[0],a[1],然后比较新的a[1](可能是原来的a[0])和a[2],如果a[1]>a...
分类:
编程语言 时间:
2016-05-12 18:54:40
阅读次数:
223
(一)
直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
复杂度:时间复杂度 O(n2)
,空间复杂度O(1)
稳定性: 插入排序是稳定的,排序前后两个相等元素相对次序不变(能...
分类:
编程语言 时间:
2016-05-07 11:15:51
阅读次数:
268
1、选择排序:
思路:选择排序(降序)每一轮循环都找到剩余数中最大的数放在当前轮数的首位,即选出最大值;
如第一轮 i = 0 时:该轮首位为 nums[0] ,然后从nums[1] 开始比较,每找到比nums[0] 大的数即交换数据,直到这轮结束。下一轮以nums[1] 为首位,从nums[2] 开始,直到结束。
升序排序反之即可。...
分类:
编程语言 时间:
2016-05-06 15:29:28
阅读次数:
178
Java排序算法 1)分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆 ...
分类:
编程语言 时间:
2016-04-16 22:48:31
阅读次数:
229
package com.rick.sample; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class So
分类:
编程语言 时间:
2016-03-08 13:20:20
阅读次数:
195
上面一片博文探讨了关于的java选择排序(冒泡排序和快速排序)本章将继续探讨java排序之插入排序,插入排序分为直接插入排序和希尔排序两种。1.直接插入排序思想:在需要排序的一组数据中假设前该数组的前n-1(n>=2)个数是已经排好序的,现在要把第n个数插入到前面的n-1个数..
分类:
编程语言 时间:
2016-02-28 01:12:52
阅读次数:
263
packagecom.hanchao.test;
/**
*实体类Step
*@authorliweihan(liweihan@sohu-inc.com)
*@version1.0(2016年1月13日下午4:30:59)
*/
publicclassStep{
/**处理时间*/
privateStringacceptTime;
/**快件所在地点*/
privateStringacceptAddress;
publicStep(){
super()..
分类:
编程语言 时间:
2016-01-13 19:59:45
阅读次数:
134