#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 @
2006-05-12 10:32 小歪 阅读(846) |
评论 (0) |
编辑 收藏
终于,我有了自己的博客了。鉴于本人水平实在是有限,所以我还是跟着大家一起学习一段时间后,再发表个人意见了。
恩,我是研究安全算法的,所以,有对算法上的问题(特别是密码学方面的)可以探讨,大家共同进步!
posted @
2006-04-25 18:09 小歪 阅读(244) |
评论 (3) |
编辑 收藏