排序算法
JavaGirl_亚兰
hello程序媛
展开
-
归并排序
原理: 基本原理是分治法,就是分开并且递归来排序。 步骤如下: 1.申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列; 2.设定两个指针,最初位置分别为两个已经排序序列的起始位置; 3.比较两个指针所指向原创 2017-04-05 11:45:03 · 280 阅读 · 0 评论 -
插入排序
原理: 插入排序也比较简单。就像打扑克一样,依次将拿到的元素插入到正确的位置即可。 1.将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 2.从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将 待插入元素插入到原创 2017-04-05 11:37:50 · 224 阅读 · 0 评论 -
选择排序
原理: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均排序完毕。动态演示:代码:function selectionSort(arr) { var len = arr.le原创 2017-04-05 11:32:20 · 275 阅读 · 0 评论 -
冒泡排序
依次比较相邻的两个元素,如果后一个小于前一个,则交换,这样从头到尾一次,就将最大的放到了末尾。动态演示:代码:function bubbleSort(arr) { var len = arr.length; for (var i = 0; i len - 1; i++) { for (var j = 0; j len - 1 -原创 2017-04-05 11:30:11 · 354 阅读 · 0 评论