```cpp
```cpp
由用户输入n个10以内的数,每输入i就把他插入到第i号对列中,最后把10个对列中非空对列,按照对列从小到大的顺序接成一条链,并输出该链的所有元素
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
typedef class student
{
public:
int scores;
student *next;
}*LinkQueue,Link;
void init_queue(LinkQueue &rear);
void input_queue(LinkQueue &rear,int e);
void printlist(LinkQueue &rear);
int main()
{
LinkQueue am[10];
int i,m;
for(i=0;i<=9;i++)
{
init_queue(am[i]);
}
for(i=0;i<=9;i++)
{
cout<<i+1<<":请输入1--10中的一个数字"<<endl;
do
{
cin>>m;
}while(m<1||m>10);
input_queue(am[m-1],m);
system("pause");
system("cls");
}
LinkQueue s;
LinkQueue temp=NULL;
LinkQueue tail=NULL;
i=0;
while(i<=9)
{
if(am[i]!=NULL)
{
tail=am[i];
break;
}
i++;
}
i++;
while(i<=9)
{
if(am[i]!=NULL)
{
temp=tail->next;
tail->next=am[i]->next;
am[i]->next=temp;
tail=am[i];
}
i++;
}
printlist(tail);
return 0;
}
void init_queue(LinkQueue &rear)
{
rear=NULL;
}
void input_queue(LinkQueue &rear,int e)
{
LinkQueue s=new Link;
s->scores=e;
if(rear==NULL)
{
s->next=s;
rear=s;
}
else
{
s->next=rear->next;
rear->next=s;
rear=s;
}
}
void printlist(LinkQueue &rear)
{
LinkQueue s;
LinkQueue p=rear;
if(p==NULL)
{
return ;
}
else if(p->next==p)
{
cout<<p->scores;
return ;
}
else
{
p=p->next;
s=p;
while(p->next!=s)
{
cout<<p->scores<<" ";
p=p->next;
}
cout<<p->scores<<endl;
}
}