冒泡排序
冒泡排序的思路是:比较所有相邻的两个项,如果第一个比第二个大,则交换它们。...这里直接说一下思路,然后再解释为什么要这样做。
快速排序在排序时会选定一个元素作为 主元,在排完一轮后,我们可以把这个主元放到排序好后的位置上。...交换主元
这样一个元素就确定了位置,如何把别的元素也确定出正确的位置呢?我们剩余的元素分为较小的数组,继续通过上面的方法来确定位置(可以使用递归)。...插入排序
插入排序的思路:假定数组的第一项已经排好,我们从第二项开始,如果第二项元素比第一项元素要小,两者交换;然后开始排列数组的第三项,第三项会与前两项作比较,它是应插入第二项之前呢,还是插入第一项之前呢...以数组 [3, 5, 1, 4, 2] 为例:
initail: [3, 5, 1, 4, 2];
// start:
[3, 5, 1, 4, 2]; // 第一趟,元素 5 比前面的任何元素都要大