1.插入排序
从头向尾不断扩大排序范围 (保持范围内顺序)
时间复杂度 O(n2)
2.冒泡排序
从第i=1个数据和第i+1个数据 进行比较 大的向后移 直到移动到他的为止(以最大值为主要观察对象 最大值逐个排到正确位置)
时间复杂度 O(n2)
3.选择排序
从全局缩小选择范围 ,遍历选择最小的数据排到前面,缩小查找排序空间
时间复杂度 O(n2)
4.归并排序
先归后并 先将排序数组分到最小 然后相邻两组按从小到大顺序合并 直至排序结束
时间复杂度 O(nlogn)
5.快速排序
思想:选定一个元素 将小于该值的元素全都放到该元素坐标大于该值的元素全都放到右边
实现:双指针 L R,思想左右两指针 当发生数据交换时 由另一指针遍历 相交为止就是选择值的位置
选择第一个值为中心轴,则先移动R指针,当R值小于中心轴时RL交换 ,此时R-1,L+1,开始移动 L ,L指针向右遍历 当发现大于选定值时与R交换 ,交换后L-1,R-1
时间复杂度 O(nlogn)
二分查找 对待插入数据进行二分法比大小 如果比数据中该中间值小则在左边范围内继续查找比大小
时间复杂度