【算法】常见算法
冒泡排序
快速排序
图解快速排序(C++实现)方法一 白话经典算法系列之六 快速排序 方法二 快速排序 C/C++实现快速排序(两种方式)
自己想的一种实现,,类似于方法二, 以 10 20 3 11 4 7 19 22 1 3
step 1: 以左边为基准数10,left = 0, right = 9;
从右边开始,搜索小于基准数10的值, 3, 交换left 和 right的值; 3 20 3 11 4 7 19 22 1 10
交换一次,再从左边开始,搜索 大于基准数的值, 20,left = 1, 交换left 和 right的值, 3 10 3 11 4 7 19 22 1 20
交换一次,再从右边开始,搜索 小于基准数的值, 1,right = 8, 交换left 和 right的值, 3 1 3 11 4 7 19 22 10 20
交换一次,再从左边开始,搜索 大于基准数的值, 11,left = 11, 交换left 和 right的值, 3 1 3 10 4 7 19 22 11 20
交换一次,再从右边开始,搜索 小于基准数的值, 7,right = 5, 交换left 和 right的值, 3 1 3 7 4 10 19 22 11 20
交换一次,再从左边开始,搜索 大于基准数的值, left == right = 5, 基准数为10时排序结束, 3 1 3 7 4 10 19 22 11 20
递归 0-4,6-9两部分
堆排序
堆排序算法——C/C++ 堆排序 白话经典算法系列之七 堆与堆排序 堆排序(绝对让你明白堆排序!)
归并排序