bucketsorter.h

来自「实现各种排序算法」· C头文件 代码 · 共 32 行

H
32
字号
//桶式排序类

#include "Sorter.h"

template <class Record>
class BucketSorter:public Sorter<Record,Compare>
{
public:
	void Sort(Record Array[],int n,int min,int max);
};

//桶式排序,Array[]为待排序数组,数组长度为n,所有记录都位于区间[min,max)上
template <class Record>
void BucketSorter<Record>::Sort(Record Array[], int n,int min,int max) 
{ 
  int* count=new int[max-min];
  int i,j;
  //所有计数器初始都为0
  for (i=min;i<max;i++)
    count[i]=0;
  //开始统计计数
  for (j=0;j<n;j++)
  count[Array[j]]++;
  //按顺序输出有序序列
  for (i=min,j=0;i<max;i++)
    while (count[i]>0)
	{
     Array[j++] =i;
     count[i]--;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?