上一题反过来。。。
#include<iostream>
#include<stdio.h>#include<string.h>
using namespace std;
typedef struct B
{
int data;
struct B *next;
}biao;
void insert(biao b[],int i,int j)
{
biao *p=&b[i];
while(p->next !=NULL)
{
p=p->next ;
}
biao *q=new biao;
q->data =j;
q->next =NULL;
p->next =q;
}
int main()
{
int n;
cin>>n;
int g[n][n];
memset(g,0,sizeof(g));
biao b[n];
for(int i=0;i<n;i++)
b[i].next =NULL;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
char x;
int num;
scanf("%d%c",&num,&x); //用x来读取并判断是否为回车,是回车的话就可以读取下一个节点的数据了
insert(b,i,num);
if(x=='\n')break;
}
}
for(int i=0;i<n;i++)
{
biao *p=&b[i];
p=p->next ;
while(p!=NULL)
{
g[i][p->data ]=1;
p=p->next ;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<g[i][j];
cout<<endl;
}
return 0;
}