嵌入式c三种基本排序算法总结
1、冒泡算法
冒泡排序是一个复杂度为 O(n2) 的排序方式,主要做法如下:
将数组分为有序区和无序区,刚开始时有序区为空,每次比较相邻的两个元素,将两个元素中较大的排在后面,每进行一轮排序,就将此时最大的值放入有序区,因此下一次排序的时候不需要对有序区内的元素进行比较。
2、选择排序
选择排序是一个复杂度为 O(n2) 的排序方式,主要思想如下:每次排序都选出当前的最小值,放在未排序序列的第一个位置,以第一次排序为例,用队列头的元素2依次和其他的元素进行比较,如果队列头的元素值大于其他元素,那么就进行交换,最后把最小的值放在队列头,完成了一次排序。
3、插入排序
插入排序是一个复杂度为 O(n2) 的排序方式,主要做法:将一个元素插入到已经排序好的队列中,保证新的元素插入之后的新队列依旧是有序的。通常假设第一个元素自身组成了一个有序队列,将后面的元素做比较插入,做成新的有序队列。

