排序算法
The_Best_Hacker
天不生我李淳罡,剑道万古如长夜。
展开
-
排序之冒泡排序 选择排序
【一】冒泡排序:基本思想:对比相邻元素值,两两比较,把小的元素移到数组前,大的元素往后排。 算法:两层循环,外层循环控制循环的轮数,里层循环主要用于比较数组元素大小,完成交换位置。 要点:外层循环arr.length-1--->因为最后一次只剩下一个数组元素不需对比。 内层循环arr.length-1-i--->减少循环次数。eg: ...原创 2018-07-31 22:24:48 · 214 阅读 · 0 评论 -
二分排序法(折半排序)
二分法查找(折半查找)基本思想:在插入第i个元素时,对前面0~i-1元素进行折半,先跟他们中间的那个元素比较, 如果小了,则对前半再进行折半,否则对后半部分进行折半处理,直到left>right,然后 再把第i个元素与目标位置之间的所有元素后移,再把第i个元素放在目标位置上。eg:34 3 12 20 1...原创 2018-07-31 23:48:19 · 7683 阅读 · 2 评论 -
直接选择排序
直接选择排序【思想】:将指定排序位置与其他数组元祖分别对比,如果满足条件就交换元素,不同于冒泡排序,这里交换的是满足条件的元素与指定的排序位置。【优越性】:与冒泡排序相比较,直接选择排序交换次数少,所以速度会更快。【算法实现】:每一趟在待排序元素中找出最大的(或最小的),顺序的放在已排好序的最后。【过程】:【代码实现】 :public class SelectSort...原创 2018-08-16 00:19:07 · 133 阅读 · 0 评论