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

📄 program.cpp

📁 本程序是关于基数排列的程序
💻 CPP
字号:
#include<stdio.h>
typedef int Type;
#include"queue.h"
void RadixSort(int* p,int n);	//基数排序
void main(void)
{
	int a[10];					
	printf("Enter 10 integers(1~99):\n");//输入提示:输入10个整数(1~99)
	for(int i=0;i<10;i++)		//从终端给数组赋值	
		scanf("%d",a+i);
   	RadixSort(a,10);			//调用排序机函数
	for(i=0;i<10;i++)			//输出数组元素
		printf("%d\t",a[i]);
}
void RadixSort(int* p,int n)	//对最大两位整数排序
{
	int i,kind;
	Queue qArray[10];			//用队列数组代表10个箱子
	for(kind=0;kind<10;kind++)	//队列初始化
		SetQueue(&qArray[kind]);
	for(i=0;i<n;i++)			//按个位大小插入箱子	
	{
		kind=p[i]%10;
		QPush(&qArray[kind],p[i]); 
	}
	i=0;						//把箱子中的数读取到数组
	for(kind=0;kind<10;kind++)
		while(!QEmpty(&qArray[kind]))
			p[i++]=QPop(&qArray[kind]);
	
	for(i=0;i<n;i++)			//按十位大小插入箱子
	{
		kind=p[i]/10;
		QPush(&qArray[kind],p[i]); 
	}
	i=0;						//把箱子中的数读取到数组
	for(kind=0;kind<10;kind++)
		while(!QEmpty(&qArray[kind]))
			p[i++]=QPop(&qArray[kind]);
}

⌨️ 快捷键说明

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