SDUT3404資料結構實驗之排序七:選課名單
阿新 • • 發佈:2018-12-20
簡單的連結串列的插入應用,無騷操作可言
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std;
typedef struct note
{
char name[1010];
struct note *next;
}note;
struct note *clas[2010];
int num[2010];
int main()
{
int n,m;
cin>> n>>m;
for(int i=0; i<2010; i++){
clas[i] = new note;
num[i] = 0;
clas[i]->next = NULL;
}
while(n--){
char s[11];
int l,x;
cin>>s>>l;
for(int i=0; i<l; i++){
cin>>x;
num[x]++;
note * p = new note;
strcpy(p->name,s);
p->next = NULL;
note *q = clas[x];
while(q->next){
if(strcmp(q->next->name,p->name)>0)
break;
q = q->next;
}
p->next = q->next;
q->next = p;
}
}
for(int i=1; i<=m; i++){
cout<<i<<" "<<num[i]<<endl;
note *p = clas[i]->next;
while(p){
cout<<p->name<<endl;
p = p->next;
}
}
return 0;
}