1 概述

1.1 衡量标准

1.2 分类

算法思想最好时间复杂度最坏时间复杂度时间复杂度空间复杂度稳定性
冒泡排序比较、交换O(n)O(n^2)O(n^2)O(1)稳定,值相等不交换
插入排序比较、移动O(n)O(n^2)O(n^2)
选择排序比较、交换
归并排序
快速排序
堆排序
桶排序
计数排序
基数排序
/* 冒泡排序 */
void sort_bubble(int *arr, int arrlen)
{
    int end;
    int tmp;
    int i;

    end = arrlen - 1;
    for (end = arrlen - 1; end > 1; end--) {
        for (i = 0; i < end - 1; i++) {
            if (arr[i] < arr[i + 1]) {
                tmp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = tmp;
            }
        }
    }
}