- 排序算法的稳定性:
在序列中存在几个数据相同的数据,经过排序之后这几个数据出现的顺序依旧没发生改变,则称该算法为稳定的排序算法,否则为不稳定的排序算法。 - 排序算法的空间复杂度:
排序算法在排序过程中消耗的内存可以通过其空间复杂度表现,特指空间复杂度O(1)的排序算法为原地排序。
冒泡排序(Buddle Sort)
图解与原理
冒泡排序的主要原理就在于从序列的最低部开始,与之上位的数据进行大小比较,如果上位的数据小于低位的则发生一次数据交换,如果没有则递进到上位与之上位的元素进行比较,直到序列的顶端为止,因此第一次比较的次数为N-1次,到达顶端后重新回到最底端,同样的方法,第二次则只需要比较到N-2的高处…以此类推从最开始到冒泡结束为1+2+3+····+(N-1)的比较次数,当满足条件时则进行一次数据交换。
冒泡排序的代码实现
void Swap(int arr[], int a, int b)
{
int temp = arr[a];
arr[a