javascript 排序算法
冒泡排序
比较相邻的两个元素,如果第一个比第二个大,就交换顺序
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
1 | function bubbleSort(arr){ |
选择排序
取到待排序的集合,默认第一个数值已经排序
然后从剩余未排序序列继续寻找最小元素,然后放到已排序序列的结尾
1 | function selectSort(arr){ |
插入排序
将待排序的序列的地一个元素看作是一个有序序列,,然后从第二个元素到最后一个元素为待排序序列
从头到尾依次扫描,将扫描到的每个元素插入有序序列适当的位置
1 | function insertSort(arr){ |
二分查找法
二分查找法,也为折半查找,首先要找到一个中间值,通过与中间值比较,大的放右,小的放左,再在两边寻找中间值,持续以上操作,直到找到所在位置为止
1 | function erfen(arr,num,start,end){ |
快速排序
快速排序是冒泡排序的升级,第一趟排序时将数据分成两部分,一部分比另一部分的所有数据都要小。然后递归调用,在两边都实行快速排序。
1 | function quickSort(data){ |