#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node{
int num;
char name[10];
struct node *next;
}linknode,*linklist;
linklist create()
{
int i,n;
struct node *p,*c,*head=NULL;
printf("输入结点数目:");
scanf("%d",&n);
printf("依次输入各结点数据(中间用空格隔开):\n");
for(i=0;i<n;i++)
{
c=(linklist)malloc(sizeof(linknode));
if(head==NULL)
head=c;
else
p->next=c;
c->next=NULL;
scanf("%d %s",&c->num,c->name);
p=c;
}
printf("创建的链表为:\n");
return head;
}
void print1(linklist head)
{
int n;
linklist c;
printf("输入要查找的编号:");
scanf("%d",&n);
for(c=head;c!=NULL;c=c->next)
if(c->num==n)
printf("%d %s\n",c->num,c->name);
}
void print2(linklist head)
{
linklist c;
char q[10];
printf("输入要查找的姓名:");
scanf("%s",q);
for(c=head;c!=NULL;c=c->next)
if(strcmp(c->name,q)==0)
printf("%d %s\n",c->num,c->name);
}
void print3(linklist head3)
{
linklist pc;
for(pc=head3->next;pc!=NULL;pc=pc->next)
printf("%d %s\n",pc->num,pc->name);
}