关于桶排的一点小打小闹

来源:互联网 发布:网络大电影数据网站 编辑:程序博客网 时间:2024/06/07 00:13

关于桶排的一点小打小闹

关于桶排的定义想必不需要多加介绍,主要就是关于数组的排序处理。
但是桶排为什么存在。。这是因为它具有计算不重性数据的优势。
就像一万人的年龄排序,如果基本有序,快排和希尔排序会退化为冒泡。所以说在常数较小的情况下,用桶排就可以以O(n)完成。
以下是代码,笔者两年前的遗落。

//Pprogram ex_3; var i,n:integer;  a:array[1..100]of longint;   b:array[1..100]of longint;begin {assign(input,'tp.in');  assign(output,'tp.out');   reset(input);    rewrite(output);}     read(n);      for i:=1 to n do      begin       read(a[i]);         b[a[i]]:=b[a[i]]+1;//这句语句是精华,主要意思是每当扫描到一个相同的数,就在这个数对应的数组格里加一。      end;    for i:=1 to 100 do     if b[i]<>0 then      for j:=1 to b[i] do        write(i,' ');     {close(input);close(output);}      end.

这里写图片描述

0 0