type
status
date
slug
summary
tags
category
icon
password
一、快速排序
- 算法思路:方法用的是递归,确定左边缘与右边缘,以及一个初始数,如果右边缘数大于最高初始数则左移,否则停下,之后再将左边缘与初始数比较如果比初始数小就右移,直到不符合条件,此时有两种情况①左=右,直接将指向的这个数与初始数替换。②左≠右,交换左右,然后重复左移右移直到①情况出现,然后会出现交换后的左边一块乱的,右边一块乱的。用上述思想完成也就是递归。
- 递归的思想
二、选择排序
- 通过两个记录值来存储最小的数以及最小数的下标,之后遍历比较一遍后面的元素,如果发现比记录值更小的元素,就将记录值其赋值为该元素。知道最后,然后将第一个与最小的交换,如此往复
三、冒泡排序
- 冒泡排序 1. 比较数组中,两个相邻的元素,如果第一个比第二个打,交换位置 2. 每一次比较,都会产生出一个最大,或者最小的数字; 3. 下一轮则可以少一次排序! 4. 一次循环直到结束
四、插入排序
- 插入排序
把第一个数当做有序数列,第二个到最后当做无序数列,开始扫描比较,每次将选择有序数列后一个数开始与有序数列比较,当比较到当前数大于时候有序数时,则插入,循环往复。
五、希尔排序
- 1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。
先分组再排序
六、归并排序
- 算法思路:先分到不可分为止(有点像先序遍历),再比较排序合并
七、基数排序
算法思路:比较数量级,从个位比较到这组数中数量级最高的级数。
- Author:内河大魔王
- URL:https://ltyzqhh.top/article/Sort
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!