...
...
JS——冒泡排序 方法一: 方法二: ...
...
算法:假设有n个人排成一行,每人手里都有一个数字,第一个人跟后一个人说你手里的数学比我小(大)吗?回答说小,两个人就互换了位置,一队下来是n-1次比较, 最终使得最后一个人手里的数字是最小(大 ...
面试经常遇到这个问题,所以整理下,以便理解。 经常用到的排序方法有两种,冒泡排序和快速排序。 1.先说快速排序 原理:每一次比较相邻两个数的大小,通过第一轮循环排序,找到最大值放到后面,第二轮找到二大值放后面。 代码实现: 比如说执行 ...
1.比较相邻的元素。如果第一个比第二个大,就交换它们两个 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数 3.除去最右的元素,我们对剩余的元素做同样(1、2)的工作,如此重复下去,直到排序完成。 这里我们把排序的方法封装到Array的原型链 ...
重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 核心原理是需要两层循环,第一层循环外层循环,表示需要排序的次数,排序次数为数组 ...
选择排序法:通过比较首先选出最小的一个数放在第一个位置,然后在其余的数中选出次小的数放在第二个位置,以此类推直到所有的数成为有序的序列 声明在当前函数中的变量和当前函数中的形参,作用域都限制在当前函数内,当函数调用结束之后这些形参和变量会被释放。 数组是引用 ...