⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radixsort.h

📁 数据结构c++-书的一些源代码
💻 H
字号:
#include "LinQueue.h"
void RadixSort(DataType a[], int n, int m, int d)
//对对象a[0]--a[n-1]进行关键码为m位d进制整型数值的基数排序
//桶采用链式队列结构
{
	int i, j, k, power = 1;
	LinQueue<DataType> *tub = new LinQueue<DataType>[d];

	//进行m次排序
	for(i = 0; i < m; i++)
	{
		if(i == 0) power = 1;
		else power = power *d;

		//将对象按关键码第k位的大小放到相应的队列中
		for(j = 0; j < n; j++)
		{
			k = a[j].key /power - (a[j].key /(power * d)) * d;
			tub[k].Append(a[j]);
		}

		//顺序回收各队列中的对象
		for(j = 0, k = 0; j < d; j++)
			while(tub[j].NotEmpty())
				a[k++] = tub[j].Delete();
	}
}

⌨️ 快捷键说明

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