radix.cpp

来自「基于C++的排序各种排序操作,包括快速排序,shell排序,随机排序,选择排序等」· C++ 代码 · 共 42 行

CPP
42
字号
#include<stdio.h>
void main()
{
	int data[10]={75,23,98,44,57,12,29,64,38,82};
	int i,j,k=0,n=1,lsd,temp[10][10];
    int order[10]={0,0,0,0,0,0,0,0,0,0};
	printf("\n<<Radix sort>>\n");
	printf("\nNumber:");
	for(i=1;i<=10;i++)
		printf("%d ",data[i]);
	puts("");
	for(i=0;i<60;i++)printf("-");
    while(n<=10)
	{
		for(i=0;i<10;i++)
		{
			lsd=((data[i]/n)%10);
			temp[lsd][order[lsd]]=data[i];   /*根据余数将数据分类*/
			order[lsd]++;
		}
		printf("\nAccess:");
		for(i=0;i<10;i++)
		{
			if(order[i]!=0)
				for(j=0;j<order[i];j++)
				{   /*依分类后的顺序将数据重新排列*/
					data[k]=temp[i][j];
					printf("%d ",data[k]);
					k++;
				}
				order[i]=0;
		}
		n*=10;
		k=0;
	}
	puts("");
	for(i=0;i<60;i++)printf("-");
	printf("\nSorting:");
	for(i=1;i<=10;i++)
		printf("%d ",data[i]);
}

⌨️ 快捷键说明

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