📄 program.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 + -