From 279dbe883fd4c404bb1cb2b2f541f6338fff40fb Mon Sep 17 00:00:00 2001 From: pc6teg8jp <2519714429@qq.com> Date: Sat, 19 Feb 2022 21:36:43 +0800 Subject: [PATCH] =?UTF-8?q?Add=20=E8=AE=A1=E6=95=B0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 计数排序 | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 计数排序 diff --git a/计数排序 b/计数排序 new file mode 100644 index 0000000..6868b8f --- /dev/null +++ b/计数排序 @@ -0,0 +1,69 @@ +/*原理:典型的牺牲空间换时间的做法。将待排的元素作为下标,记录元素出现次数,并进行 +累计,最终反向填充目标数组,达成排序目的。 */ +/*时间复杂度:O(N); +空间复杂度:O(N)*/ +/*应用场景:计数排序只适用于数据范围较集中的序列的排序,如年龄排序等问题。 +若待排序列的数据较分散,则会造成空间浪费, +并且计数排序只适用于整型排序,不适用与浮点型排序。 +*/ +#include +#include +#include + +#define N 300000000 //元素个数 +#define M 100 //元素区间 + +//数组打印 +void arr_print(int* arr) +{ + int i; + for(i=0;i