C 写了一个生猛的,如果你在意内存的话
#include "stdio.h" #include "string.h" typedef struct Link{ struct Link *next; int *data; int count; }link; int main(void) { char num[1000]={0}; int N; int d=0; link *FRT=(link *)malloc(sizeof(link)); link *NOW=FRT; link *NEXT=NULL; int count=0; while(scanf("%d",&N)!=-1) { count=0; NEXT=(link *)malloc(sizeof(link)); NOW->next=NEXT; NOW=NEXT; NOW->count=N; NOW->next=NULL; NOW->data=(int *)malloc(N*sizeof(int)); getchar(); for(int i=0;i<N;i++) { scanf("%d\n",&d); num[d-1]=1; } for(int j=0;j<1000;j++) { if(num[j]!=0) { NOW->data[count++]=j+1; num[j]=0; } } } NOW=FRT; do{ NEXT=NOW->next; NOW=NEXT; for(int i=0;i<NOW->count;i++) { if(NOW->data[i]!=0) printf("%d\n",NOW->data[i]); } }while(NOW->next!=NULL); return 0; }