#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10
typedef struct child
{
int data;
struct child* next;
}CHILD,*linkchild;
typedef struct node
{
int data;
struct child* next;
}NODE,*linknode;
linkchild creatChild()
{
int num;
linkchild p=malloc(sizeof(CHILD));
printf("请输入数据:\n");
scanf("%d",&num);
p->data=num;
p->next=NULL;
return p;
}
void showChild(NODE array[])
{
int i;
linkchild p;
for(i=0;i<MAXSIZE;i++)
{
if(array[i].next==NULL)
printf("孩子链表为空\n");
if(array[i].next!=NULL)
p=array[i].next;
while(p!=NULL)
{
printf("%-4d",p->data);
p=p->next;
}
printf("\n");
}
}
int main()
{
NODE array[MAXSIZE];
int i;
linkchild p;
for(i=0;i<MAXSIZE;i++)
{
array[i].next=NULL;
}
for(;;)
{
p=creatChild();
if(p==NULL)
{
printf("申请结点失败\n");
exit(0);
}
if(p->data==-1)
break;
for(i=0;i<MAXSIZE;i++)
{
if(p->data%10==i)
{
array[i].data=i;
if(array[i].next==NULL)
array[i].next=p;
else
{
p->next=array[i].next;
array[i].next=p;
}
}
}
}
showChild(array);
return 0;
}