posts - 12,  comments - 5,  trackbacks - 0

#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#define KEYN 3

struct ele{
int key;
struct ele *link;
};

void bases(ele **h)
{
   ele *head[10],*tail[10],*p,*u;
   int factor=1,i,j;
   p=*h;
   for(i=0;i<KEYN;i++)
   {
   for(j=0;j<10;j++)
   {head[j]=NULL;
    tail[j]=NULL;
   }
   while(p)
   {
      u=p->link;
         j=(p->key/factor)%10;
   if(head[j]==NULL)
    head[j]=p;
   else
    tail[j]->link=p;
   tail[j]=p;
   tail[j]->link=NULL;
   p=u;
   }
   p=NULL;
   for(j=0;j<10;j++)
   {
      if(head[j]==NULL)
    continue;
   if(p==NULL)
    p=head[j];
   else
    u->link=head[j];
   u=tail[j];
   }
  factor*=10;

   }
    *h=p;
}


void main()
{
ele *h,*u;
int a[10];
cout<<"输入10个数:"<<endl;
for(int i=0;i<10;i++)
  cin>>a[i];

h=NULL; /*先形成一个空链表*/
for(i=0;i<10;i++)
{ /*任意形成一个链表*/
u=new(ele);
u->key=a[i];
u->link=h;
h=u;
}
bases(&h); /*排序*/
for(u=h;u;u=u->link) /*顺序输出链表各表元的链值*/
cout<<u->key<<' ';
cout<<endl;

}

posted on 2006-05-12 10:32 小歪 阅读(832) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

Welcome!

常用链接

留言簿(1)

随笔档案

相册

收藏夹

搜索

  •  

最新评论

阅读排行榜