stud * search(stud *h,char *x) /*查找鏈表的函數(shù),其中h指針是鏈表的表頭指針,x指針是要查找的人的姓名*/
{
stud *p; /*當前指針,指向要與所查找的姓名比較的結(jié)點*/
char *y; /*保存結(jié)點數(shù)據(jù)域內(nèi)姓名的指針*/
p=h->link;
while(p!=NULL)
{
y=p->name;
if(strcmp(y,x)==0) /*把數(shù)據(jù)域里的姓名與所要查找的姓名比較,若相同則返回0,即條件成立*/
return(p); /*返回與所要查找結(jié)點的地址*/
else p=p->link;
}
if(p==NULL)
printf("沒有查找到該數(shù)據(jù)!");
}
main()
{
int number;
char fullname[20];
stud *head,*searchpoint; /*head是表頭指針,searchpoint是保存符合條件的結(jié)點地址的指針*/
number=N;
head=creat(number);
printf("請輸入你要查找的人的姓名:");
scanf("%s",fullname);
searchpoint=search(head,fullname); /*調(diào)用查找函數(shù),并把結(jié)果賦給searchpoint指針*/
}