首页 > 编程语言 > 详细

简单的用数组实现的基数排序

时间:2016-04-09 12:19:24      阅读:257      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
#include<stdlib.h>
struct tong{
	int cunchu[10];
	int youbiao;
};
void jisuh(int *head,int max){
	int i=0,k,j,zhong,jian,b10=1,m;
	struct tong shuzu[10];


	for(m=0;m<3;m++){//3趟排序 
	    j=0;b10*=10;
	    	for(i=0;i<10;i++)
	             {
	             	shuzu[i].youbiao=0;
				 }//初始化 
        for(j=0;j<max;j++)//每趟的处理 ,放进去 
          {
          	zhong=(head[j]%b10-head[j]%(b10/10) )/(b10/10);
          	shuzu[zhong].cunchu[shuzu[zhong].youbiao]=head[j];
          	shuzu[zhong].youbiao++;
          	
		  }
		  k=0;
	   for(i=0;i<10;i++)
	      {
	      	for(j=0;j<shuzu[i].youbiao;j++)
	      	{
	      		head[k]=shuzu[i].cunchu[j];
	      		k++;
			  }
		  }
		  
}} 
int main(void){
	int a[]={9,2,43,245,134,344,32};
	jisuh(a,7);
	int i;
	for(i=0;i<7;i++)
	 {
	 	printf("%d ",a[i]);
	 }
}

 

简单的用数组实现的基数排序

原文:http://www.cnblogs.com/xuehongyang/p/5371244.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!