淄博一北京列车时刻表:数据结构编程

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 04:42:59
写一个函数,检测两个单向链表内容是否相同。

/*比较a和b的值是否完全相同,相同返回0,否则不相同*/
int listCmp(PLIST a,PLIST b)
{
PLIST pa=a,pb=b;
while(pa||pb) /*由于不能保证ab等长,所以使用||而不用&&*/
if(!pa||!pb||(pa++)->data!=(pb++)->data) return 1;
return 0;
}

int test(ptr p,ptr q,int n) //p,q可用typedef定义为单向链表首指针,n为链表中数据个数,正确返回1,否则返回0
{
int a,b,i=0;
while(p&&q)//p,q都不是空指针
{
a=p->data;
b=q->data;
if(a!=b)
break;
p=p->next;
q=q->next;
i++;
}
if(i<n)
return 0;
else return 1;
}