type
status
date
slug
summary
tags
category
icon
password
共有的交换函数
冒泡排序
比较任何两个相邻的项a b,如果a>b,则交换;
较大的值向后移动到正确的位置,所以叫做冒泡排序;
时间复杂度:稳定的O(n^2)
选择排序
遍历数组,找到最小值放到第一位,查找剩下的数据,找到第N小的值放到第N位;
插入排序
设定第一个元素已经是有序的,获取下一个元素B,在已排序的元素中从后向前扫描,
判断元素B与已排序元素X的大小,如果元素B小于已排序的元素X,则继续扫描,
直到找到小于或者大于元素X的元素的位置,进行下次循环;
希尔排序
把待排序序列划分为若干个较小的序列,对这些序列进行插入排序,
最后再对整个序列进行一次插入排序;
快速排序
找到一个基准值,划分为大于or小于此基准的两个数组,
递归调用自身,当数据较小时,调用插入排序;